Perforce シェルブトリガー
Perforce シェルフトリガーは、Perforce 変更リストの 保留中のファイル(英語)の変更を検出すると、自動的にビルドを実行します。
前提条件
トリガーは Perforce 2018.2 以降をサポートします。
トリガー設定
トリガーは、現在のビルド構成に関連付けられているすべての Perforce VCS ルートを監視します。 監視対象の変更リストは、その説明でフィルタリングできます。 これを行うには、検索に必要なキーワードを指定します。
トリガーの動作
一致する変更リストのシェルブされたファイルに変更が加えられると、TeamCity はこれらのファイルの内容を使用して新しい パーソナルビルドを開始します。
現在のビルドが コンポジットの場合、ビルドチェーン全体が、シェルフされたファイルの変更時にトリガーされます。
Perforce VCS ルート設定で ストリームサポートが有効になっている場合、このトリガーは変更されたファイルからターゲットストリームを検出し、デフォルトのストリームが指定されている場合でも、このストリームで個人ビルドを実行します。
TeamCity はシェルブされたファイルを次のように処理します:
リモートのソースコードはチェックアウトされています(エージェント側については、下記の注記を参照してください)。
p4 unshelve -s <specified-changelist>コマンドが呼び出されます。p4 syncを再度実行して、unshelveステップによって影響を受けたファイルの最新リビジョンを復元します。p4 resolve -amは変更を自動的にマージし、競合を解決します。 解決されない競合が残っている場合、ビルドは失敗します。自分だけのカスタムビルドが始まる。
ビルドが完了すると、
p4 revertとp4 cleanはワークスペースを元の状態に復元し、シェルフから追加されたファイルを削除します。
パラメーター化されたシェルブされた変更リスト ID
TeamCity は、 構成パラメーターVCS ルート.rootExternalId.シェルブ済みチェンジリスト で、このビルドをトリガーした変更を含む変更リストの ID を提供します。
VCS ルート ID が利用できない / 不要な場合は、 VCS ルート.1.シェルブ済みチェンジリスト 構成パラメーターを使用します。
ログイベント
このトリガーは、 Perforce シェルブトリガー ログキーを使用してイベントを TeamCity トリガー.ログ ファイルに記録します。