2017-12-14 17 views
0

マスタマージの自動化のベストプラクティスは何ですか? 今は手動で行っています。マージタスクを使用してCD(vsts)パイプラインから実行する必要がありますか?マージに失敗した場合はどうなりますか?連続配信のリリース後にマスタマージを自動化する方法

これはマーケットで見つかったマージタスクです。これは期待どおりに動作しません。

https://marketplace.visualstudio.com/items?itemName=dtzar.git-merge

enter image description here

+0

あなたは、リリースブランチに展開した後、masterブランチにリリースブランチをマージリリースブランチと自動でCDを意味していますか?しかし、参照した分岐モデルは、実際にはmasterブランチをプロダクションブランチとして扱い、各リリースバージョンをタグ(1.0.0や1.0.1など)で記録します。リリースブランチ**は**実際にはリリースごとに個別に準備しています。だからあなたはmasterブランチ上のCDでなければなりません。 –

+0

は、masterがプロダクションであることに同意しますが、パイプラインからマスターにマージする方法が尋ねられます。 –

+0

私はマスターブランチを自動的にマージするための答えを追加します。あなたは試してみることができます。 –

答えて

0

あなたは、PowerShellスクリプトによって自動的にmasterブランチに他のブランチをマージすることができます。詳細は下記の通り: スクリプトで、リリース定義の最後にPowerShellのタスクを追加します。

git clone https://<alternate username>:<Alternate password>@account.visualstudio.com/project/_git/reponame repo 
cd repo 
git checkout $(BUILD.SOURCEBRANCHNAME) 
git checkout master 
git merge $(BUILD.SOURCEBRANCHNAME) -X ours -m 'merge $(BUILD.SOURCEBRANCHNAME) into master' 
git push origin master 

注:をワークフローに、主にmasterへのブランチをマージするための競合がありません。 git mergeのオプション-X oursは、矛盾がある場合はmasterバージョンを使用しています。代わりに-X therisを使用して、競合がソースブランチのバージョンを使用するようにすることもできます。

enter image description here

+0

PowerShellタスクでマスターブランチを自動的にマージできますか? –

関連する問題