B.M*_*Kee 5 yaml azure-devops azure-pipelines
我有一组看起来像这样的工作阶段。
- stage: UpdateWoW
dependsOn: Install
variables:
- group: ${{ parameters.StageVars }}
jobs:
- template: UpdateApp.yml
parameters:
AppName: WoW
Project: oxygen
- stage: UpdateSCII
dependsOn: Install
variables:
- group: ${{ parameters.StageVars }}
jobs:
- template: UpdateApp.yml
parameters:
AppName: SCII
Project: carbon
- stage: UpdateDIII
dependsOn: Install
variables:
- group: ${{ parameters.StageVars }}
jobs:
- template: UpdateApp.yml
parameters:
AppName: DIII
Project: xenon
Run Code Online (Sandbox Code Playgroud)
我只是用两个不同的参数调用同一个模板。我想用矩阵清理它。当涉及模板时,记录的示例并没有给我太多内容。我已经尝试了一些变体,但到目前为止,我注入矩阵或包含策略的任何地方都是“意想不到的”。
- stage: UpdateApps
dependsOn: Install
variables:
- group: ${{ parameters.StageVars }}
jobs:
- template: UpdateApp.yml
matrix:
wow:
AppName: WoW
Project: oxygen
sc2:
AppName: SCII
Project: carbon
d3:
AppName: DIII
Project: xenon
parameters:
AppName: $(AppName)
Project: $(Project)
Run Code Online (Sandbox Code Playgroud)
被调用的模板如下所示:
#UpdateApp.yml
parameters:
AppName: $(AppName)
Project: $(Project)
jobs:
- job:
timeoutInMinutes: 120
variables:
Path: D:\games
steps:
- template: prep.yml $(Path)
- script: dostuff.cmd $(Path) ${{parameters.AppName}} ${{parameters.Project}}
- script: domore.cmd $(Path) ${{parameters.AppName}} ${{parameters.Project}}
Run Code Online (Sandbox Code Playgroud)
弄清楚了。矩阵出现在工作层面。舞台是这样的:
- stage: UpdateApps
dependsOn: Install
variables:
- group: ${{ parameters.StageVars }}
jobs:
- template: UpdateApp.yml
Run Code Online (Sandbox Code Playgroud)
模板:
#UpdateApp.yml
jobs:
- job:
timeoutInMinutes: 120
variables:
Path: D:\games
strategy:
matrix:
wow:
AppName: WoW
Project: oxygen
sc2:
AppName: SCII
Project: carbon
d3:
AppName: DIII
Project: xenon
steps:
- template: prep.yml $(Path)
- script: dostuff.cmd $(Path) $(AppName) $(Project)
- script: domore.cmd $(Path) $(AppName) $(Project)
Run Code Online (Sandbox Code Playgroud)