如何在Azure DevOps中设置流水线步骤的条件执行?
在Azure DevOps流水线中为步骤添加条件执行逻辑
要让PublishBuildArtifacts@1步骤仅在Python 3.8的矩阵任务里执行,只需给该步骤添加condition属性,通过判断流水线变量python.version的值来控制执行:
修改后的完整test.yaml代码如下:
trigger: branches: include: - main pool: vmImage: windows-latest strategy: matrix: Python37: python.version: "3.7" Python38: python.version: "3.8" Python39: python.version: "3.9" Python310: python.version: "3.10" Python311: python.version: "3.11" steps: - task: UsePythonVersion@0 inputs: versionSpec: "$(python.version)" displayName: "Use Python $(python.version)" - script: python -m pip install nox displayName: "Install dependencies" - script: nox -s test displayName: "Test with pytest" - task: PublishBuildArtifacts@1 displayName: "Publish coverage" # 仅当Python版本为3.8时执行此步骤 condition: eq(variables['python.version'], '3.8') inputs: pathToPublish: "./htmlcov/" artifactName: "coverage"
逻辑说明
condition: eq(variables['python.version'], '3.8')表示只有当当前任务的python.version变量值等于"3.8"时,该步骤才会被执行;其他Python版本的矩阵任务会自动跳过这个发布步骤。- 这个条件判断使用了Azure DevOps内置的表达式函数
eq(),用于比较两个值是否相等。
内容的提问来源于stack exchange,提问作者Pierrick Rambaud
相关产品推荐
相关产品推荐

