web-dev-qa-db-ja.com

TeamCity BuildのGitブランチを選択します

Team City 8.1を使用してビルドするブランチを選択する方法を知りたいです。

VCSルート(Git)がデフォルトに設定されます:「マスター」とブランチの仕様は

+:refs/heads/develop
+:refs/heads/feature/*
+:refs/heads/hotfix/*
+:refs/heads/master
+:refs/heads/release/*

チェックインされたものを自動的にビルドするCIビルドのセットアップがあります。これは、希望どおりに機能しています。

私がやりたいのは、「開発」ブランチに対してスケジュールされたQAビルド/展開を作成することです。実行ボタンの横にある省略記号をクリックすると、「変更」タブでブランチを選択できますが、この「スティック」の作り方を判断することはできません。これは可能ですか、それとも間違っていますか?

おかげで、

ジョー

47
Joe

@ biswajit-86のフィードバックと、これをグーグルで見つけた他の情報に基づいて、これを機能させることができました。これが私がしたことです(画像が多くて申し訳ありません)。 Team City 8.2に基づいていますが、私が出会った例とは少し異なるように設定されているようです。

1)VCSルートを設定します。ここで重要なのは%BranchName%パラメータ。

enter image description here

2)ビルドテンプレートを作成し、作成したVCSルートを使用します。すべてのビルドでこれを実行する必要があるため、MSBuildステップも追加しました。

enter image description here

3)テンプレートに基づいて、新しいビルドを作成します。ここにあるように、%BrachName%ステップ1で作成されたパラメーターが使用可能です。

enter image description here

4)これを後で変更する必要がある場合は、ここから入手できます

enter image description here

そして、それだけです。 CIビルドでは、ブランチ名を空のままにして、チェックインされたブランチがMSBuildステップをトリガーするようにしました。 QAビルドでは、ここに示すように「開発」を渡し、これを毎日のスケジュールでセットアップしています。 「リリース」ビルドも設定していますが、命名規則に基づいて、リリースごとに特定のブランチを指すようにビルドを更新する必要があるようです。

93
Joe

Git VCSセットアップの「参照名」をパラメーター化できます。つまり、ビルドで%variable.name%という形式の変数を宣言し、「構成パラメーター:」カテゴリの下にビルドパラメーターを作成します。

各ビルドターゲットに対してこの値を設定すると、ターゲットを実行する特定のブランチを選択できるはずです。

6
Biswajit_86