Azure パイプライン テンプレートを使用しています。パイプラインを開始する開発者に、特定のブランチの変数を設定するか、$(Build.SourceBranch) のままにしてほしい
その理由は、さまざまなリポジトリ/ブランチからアーティファクトをプルダウンして結合するためです。
だから私のymlにパラメータを追加しました(簡単にするために1だけを示しています)
parameters:
- name : source_branch
displayName: Which Branch (e.g. refs/head/foo)
type: string
default: $(Build.SourceBranch)
次に、テンプレートを呼び出します
- template: download_artifact.yml
parameters:
artifacts:
- project: 'XXX'
pipeline: 291
artifact: 'artifcat'
branch: ${{ parameters.source_branch }}
組み合わせるアーティファクトは約 30 種類あるため、テンプレートを使用します。
テンプレート内では、抽出をダウンロードして操作しますが、ダウンロードのみに簡略化します。
parameters:
artifacts: []
steps:
- ${{ each step in parameters.artifacts }}:
- task: DownloadPipelineArtifact@2
displayName: '${{ step.artifact }}'
inputs:
source: 'specific'
project: ${{step.project}}
pipeline: ${{step.pipeline}}
runVersion: 'latestFromBranch'
runBranch: ${{step.branch}}
artifact: ${{step.artifact}}
path: '$(Pipeline.Workspace)\${{ step.artifact }}'
したがって、最終的な結果は、変数がテンプレート内で解決されないということです。これは、キュータイムでテンプレートが展開されたためだと思います。このシナリオの回避策はありますか?