Jem*_*Hah 2 azure azure-devops azure-pipelines azure-pipelines-yaml
*请忽略格式问题
trigger:
- none
parameters:
- name: stg
displayName: "Environment Names"
type: string
pool:
vmImage: ubuntu-latest
stages:
- stage: stage1
displayName: 'Stage C1'
jobs:
- job: jobabc
strategy:
maxParallel: 2
matrix:
env_1:
EnvironmentX: E1
Browser: IE
env_2:
EnvironmentX: E2
Browser: Firefox
env_3:
EnvironmentX: E3
Browser: Chrome
displayName: 'Job 1'
condition: contains('${{parameters.stg}}', $(EnvironmentX))}}
steps:
- task: CmdLine@2
displayName: 'My Task '
inputs:
script: 'echo Stage C1 $(Browser)'
Run Code Online (Sandbox Code Playgroud)
我将stg参数传递为E1E3E4.
在 Matrix 中我定义了EnvironmentX其值可以是E1, E2, or E3。
下面的代码使用定义的矩阵值运行作业 3 次。
我不想运行所有 3 个作业,但 stg 参数值应该决定 JOb 将运行哪个矩阵值。
工作条件不起作用?请问如何解决这个问题
您可以有条件地构建矩阵。不理想,但会起作用:
trigger:
- none
parameters:
- name: stg
displayName: Environment Names
type: string
pool:
vmImage: ubuntu-latest
stages:
- stage: stage1
displayName: 'Stage C1'
jobs:
- job: jobabc
strategy:
maxParallel: 2
matrix:
${{ if contains(parameters.stg, 'E1') }}:
env_1:
EnvironmentX: E1
Browser: IE
${{ if contains(parameters.stg, 'E2') }}:
env_2:
EnvironmentX: E2
Browser: Firefox
${{ if contains(parameters.stg, 'E3') }}:
env_3:
EnvironmentX: E3
Browser: Chrome
displayName: 'Job 1'
steps:
- task: CmdLine@2
displayName: 'My Task '
inputs:
script: 'echo Stage C1 $(Browser)'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4554 次 |
| 最近记录: |