web-dev-qa-db-ja.com

TFSビルドを使用して条件付きでタスク/ステップをスキップまたは実行するにはどうすればよいですか?

TFSビルド定義があります。

enter image description here

2つのコマンドラインを条件付きで実行する2つのステップ/タスクを実行したいと思います。たぶん、ビルドまたは何かをキューに入れるときに設定できる変数を使用します。主にビルド​​を実行し、必要に応じていくつかの手順/タスクをスキップします。どうすればこれを達成できますか?私のapp.exeを実行するbatファイルを作成し、実行するか、私のapp.exeを実行しないbatスクリプトにブール変数を送信することを除きます。

11
TBogdan

アップデート2017/04/19

VSTSでタスクを実行するための条件を指定できます

この機能を使用するには、アカウントでNew Build EditorThe Task Conditions previewの両方の機能を有効にする必要があります。


今のところ不可能です。 UserVoiceに機能リクエストがあり、[〜#〜] started [〜#〜]で応答されます:

vNext /プレビュータスクのビルドを条件付きで有効または無効にできるようにします。

この機能の開発に着手し、チームビルドとリリース管理の両方で利用できるようになります。

Team Services Group(製品グループ、Microsoft Visual Studio)が回答しました・2016年8月23日

回避策として、ビルドタスクを手動で無効にすることができます(ビルドタスクを左クリックしてDisable selected tasksを選択)。スクリーンショットは次のとおりです: enter image description here

12
PatrickLu-MSFT

条件付きで実行する必要があるタスクの前にPowerShell ScriptタスクをWrite-Host "##vso[task.setvariable variable=ExecuteMyTask]$(ExecuteMyTask)"で追加することにより、ExecuteMyTaskという名前の新しいプロセスパラメーターがタスクグループに追加され、 trueまたはfalseに設定する(または空のままにして設定する)このタスクグループを使用したビルド定義で)。 「条件付き」タスクでは、カスタム条件and(succeeded(), eq(variables['ExecuteMyTask'], 'true'))を追加でき、タスクは条件付きで実行されます。

これはTFS.2018.2で機能します。

2
Emiel Koning