ただの小ネタです。
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
実行すると、それぞれの環境用の内容が表示されます。