ただの小ネタです。
Azure Pipelines でリポジトリに含めたくない秘密の値を入れるための Variables に変数を追加します。
そして Variable Group でも template でもいいのですが 2 セット変数の定義を作ります。
vartemplate-for-production.yml
variables: message: $(messageForProduction)
vartemplate-for-staging.yml
variables: message: $(messageForStaging)
適当なタスクも作っておきます。
some-tasks.yml
parameters: - name: vartemplatename type: string default: '' jobs: - job: job1 variables: - template: ${{ parameters.vartemplatename }} steps: - script: echo $(message)
とりあえずテンプレートで本番用とステージング用の変数名の違いを吸収してるから、いい感じにタスクを共通化出来そうという魂胆です。 パラメーターで変数のテンプレートファイル名を渡す感じですね。なのでメインのパイプラインはこんな感じ。
trigger: - master pool: vmImage: 'ubuntu-latest' stages: - stage: staging jobs: - template: some-tasks.yml parameters: vartemplatename: vartemplate-for-staging.yml - stage: production jobs: - template: some-tasks.yml parameters: vartemplatename: vartemplate-for-production.yml
実行すると、それぞれの環境用の内容が表示されます。