以前のパッチファイルについて説明しました。私は今これをやめ、代わりにデプロイメントブランチを維持しています。
つまり、「master-deployed」という名前の新しいブランチでマスターを分岐し、ビルドサーバーのテストバージョンにのみ存在する必要があるブランチに変更を加えます(つまり、これがライブバージョンではないという警告を追加します。およびweb.config内の別のdbサーバー)。
最先端バージョンをビルドするときのビルドサーバーは、マスターデプロイをチェックアウトし、通常のビルドを実行する前にオリジン/マスターにリベースします。競合する変更を誰も行っていない場合は、すべて問題ありません。もしそうなら、私は手動の介入なしにこれを処理するシステムを見ることができません。
ブランチ「qa-deployed」を持つqaのヒントについても同じことが言えます。
--ontoフラグを使用して、ブランチ全体が書き換えられた場合に、パッチが古いコミットをすべて取得しないようにします。
したがって、ビルドサーバーでは、qaビルドは次のようになります。
git reset --hard
git clean -xfd
git checkout -f qa-deployed
git rebase --onto qa HEAD^ qa-deployed
build-script