CI の一環として、リリースごとに新しいブランチを作成し、AssemblyInfo ファイルと Config ファイルのバージョン番号を手動で変更します。これは人的エラーが発生しやすいため、このプロセスを自動化することにしました。これまでのところ、ビルドの前に実行する Main ブランチから新しいブランチを作成するスクリプトがあります。XAML は、すべての AssemblyInfo ファイルと構成ファイルをチェックアウトし、バージョン番号を更新し、変更をチェックインする多くのアクティビティで変更されています。
私がやりたいのは、この 2 段階のプロセスを 1 つのプロセスにすることです。現時点でのアイデアは、「ワークスペースの初期化」シーケンスの前に、テンプレートの先頭に呼び出しプロセスとして「TF ブランチ」スクリプトを追加することです。これにより、新しいブランチが作成されます (たとえば、branches\1.2.3.4)。ブランチが作成された後、「ワークスペースの作成」のすぐ下に配置された「TFWorkFold」アクティビティを使用します。TFWorkFold アクティビティで、新しいマッピングを追加します - ( ServerPath = $\TeamProject\Branches\1.2.3.4 - LocalPath = SourcesDirectory) しかし、プロセスが「Get Workspace」アクティビティに到達すると、新しいブランチのソース ファイルがワークスペースに追加されません。
これを他のビルドで実行すると、ビルドが初期化される前にブランチが作成されている場合にのみ、新しいマッピングが成功します。
私が行方不明のステップはありますか?私の Create branch スクリプトでは、600 秒の ping タイマーを使用して、新しいワークスペース マッピングが追加される前に分岐が完了するのに十分な時間を確保しています。