フラグの 1 つを true に設定してカスタム ビルドを実行すると、ビルド ステップで TeamCity を使用して特定のビルドを SVN にタグ付けしています。
ただし、このビルドが完了したら、TeamCity を自動化して、作成したばかりのカスタム ビルドを固定したいと考えています。これは可能ですか?REST API について読んだことがありますが、それが解決策かどうかはわかりません。
フラグの 1 つを true に設定してカスタム ビルドを実行すると、ビルド ステップで TeamCity を使用して特定のビルドを SVN にタグ付けしています。
ただし、このビルドが完了したら、TeamCity を自動化して、作成したばかりのカスタム ビルドを固定したいと考えています。これは可能ですか?REST API について読んだことがありますが、それが解決策かどうかはわかりません。
プラグインを利用する代わりに REST API を使用することで解決しました。
[カスタム スクリプト] フィールドを使用してコマンド ライン ビルド ステップを作成すると、cURL を使用してビルドを効果的にピン留めできます。既に実行されているビルドを固定するには、いくつかの変更が必要になる場合があります。
この curl 呼び出しはビルドを固定します。
curl -v --request PUT %teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/pin -u "TCuser:TCpass"
この curl 呼び出しは、特定のビルドのタグを追加/編集します。
curl -v -H "Content-Type:text/plain" -d "Deliverable" %teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/tags -u "TCuser:TCpass"
また、ビルド エージェントに curl 実行可能ファイルをインストール/配置して、curl をコマンド ライン ツールとして呼び出すことができるようにする必要があります。
REST は、Java コードを書かずにそれを行う唯一の方法です。または、buildFinished イベントをリッスンし、特定のプロパティがある場合にビルドを固定するプラグインを作成できます。