他のタスクに加えて、Azure KeyVaultタスクとAzureResource GroupDeploymentタスクを含むタスクグループがあります。後者では、ARMテンプレートのいくつかのパラメーターを、キーボールトからの値でオーバーライドしたいと思います。
Azure Key VaultタスクのSecrets filterフィールドは_secret1,secret2,secret3
_のようになります。これらのシークレットは、シークレット名と同じ名前の他のタスクで変数として使用できます。したがって、テンプレートパラメーターのオーバーライドフィールド内のAzure Resource Group Deploymentタスクの値は-p1 $(secret1) -p2 $(secret2) -p3 $(secret3)
です。
問題は、VSTSがタスクグループのパラメーターとして3つの変数を自動的に選択することです。私はこれが起こらないようにしたい。これらの変数は、タスクグループ自体の中で設定および読み取られます。それらはクラス内のプライベートフィールドのようなものです。
1つの方法は、Azure Key Vaultタスクを削除し、代わりにビルドとリリース>ライブラリ>変数グループを使用することです。ただし、変数グループをタスクグループにリンクする方法はありません。
タスクグループのパラメータから変数を削除する方法はないと思います。これは、VSTSがタスクグループ内の変数を処理する方法の内部動作と関係があります。ブログ投稿 VSTS/TFS:setvariable loggingコマンドを使用したタスクグループとそのさまざまなユースケースの理解 は、タスクグループ内の変数がどのように動作するかについての洞察を提供します。同じブログ投稿に、私が達成したいことへの回避策があります。
タスクグループには、secret1、secret2、およびsecret3の3つの追加パラメーターがあります。タスクグループをリリース定義に追加するときは、次の値を入力する必要があります。
$(secret1)
secret1$(secret2)
secret2$(secret3)
secret3エラーを減らしてエクスペリエンスを向上させるために、これらの値をタスクグループのパラメーターのデフォルト値として設定できます。このように、タスクグループに必要な残りの必要なパラメータを入力するだけで済みます。
醜いですが、動作します。
私は同じ問題に遭遇しました。タスクグループをJSONテキストファイルにエクスポートして再インポートすることで、不要なパラメーター(つまり、変数グループによって提供されるパラメーター)を削除できることがわかりました。
Notepad ++またはお気に入りのJSONエディターでJSONファイルを編集し、不要なパラメーターを削除してから再インポートしてください。インポート後、それらはなくなります。
また、おそらく同じ方法で新しいパラメータを追加することもできますが、私は試していません。