VSTSパイプラインを介したarmテンプレートの展開に取り組んでいます。サブネットIDを取得するPowerShellスクリプトがあり、このサブネットID値をVSTSの別のタスクに渡す必要があります。 PowerShellスクリプトからvstsに変数を渡してから、これをParmaeterとしてAzureリソースグループ展開タスクに渡すにはどうすればよいですか?
PowerShellに新しい変数を設定し、それをVSTSに渡して、次のタスクの1つで使用できるようにすることができます。
Write-Host "##vso[task.setvariable variable=sauce]crushed tomatoes"
Write-Host "##vso[task.setvariable variable=secretSauce;issecret=true]crushed tomatoes with garlic"
これにより、値が「砕いたトマト」の「ソース」(最初の例)という新しい環境変数が作成されます。
次のタスクでは、タスク構成画面の$(sauce)またはPowerShellスクリプトの$ env:sauceを使用して読み取ることができます。
使用方法の詳細については、 https://docs.Microsoft.com/en-us/vsts/build-release/concepts/definitions/release/variables?tabs=batch を参照してください。
@Rodrigo Werlangによる提案は機能しますが、set変数は、タスク設定が含まれているジョブにスコープされます。現在、これは既知の制限であり、文書化されています ここ 。
スクリプトから変数を定義または変更するには、task.setvariableloggingコマンドを使用します。 更新された変数値は実行中のジョブにスコープされ、ジョブまたはステージ間を流れないことに注意してください。変数名は大文字に変換され、文字は「。」になります。および「」は「_」に置き換えられます。