jobs.template 中的 Yaml 手动审批步骤

问题描述 投票:0回答:1

我有一个类似的具有多个 jobs.template 定义的 yaml,我想在 - 模板步骤之间添加一个手动批准步骤。有没有简单的方法可以做到这一点,或者我需要重做整个 yaml 吗?

# File: jobs/build.yml

parameters:
  name: ''
  pool: ''
  sign: false

jobs:
- job: ${{ parameters.name }}
  pool: ${{ parameters.pool }}
  steps:
  - script: npm install
  - script: npm test
  - ${{ if eq(parameters.sign, 'true') }}:
    - script: sign
YAML

Copy
# File: azure-pipelines.yml

jobs:
- template: jobs/build.yml  # Template reference
  parameters:
    name: macOS
    pool:
      vmImage: macOS-latest

- template: jobs/build.yml  # Template reference
  parameters:
    name: Linux
    pool:
      vmImage: ubuntu-latest

- template: jobs/build.yml  # Template reference
  parameters:
    name: Windows
    pool:
      vmImage: windows-latest
    sign: true  # Extra step on Windows only

我已经尝试添加 - 任务:ManualValidation@8 但它不起作用,因为我收到错误消息“Unexpected value 'task'”

azure-devops yaml azure-pipelines azure-pipelines-yaml
1个回答
0
投票

您无法直接在作业之间添加任务 - 请使用作业或作业模板。

示例:

jobs:
  - job: waitForValidation
    pool: server
    displayName: Wait for external validation
    timeoutInMinutes: 4320 # job times out in 3 days
    steps:
    - task: ManualValidation@0
      timeoutInMinutes: 1440 # task times out in 1 day
      inputs:
        notifyUsers: |
          [email protected]
          [email protected]
        instructions: 'Please validate the build configuration and resume'
        onTimeout: 'reject'

  - job: doSomething
    dependsOn: waitForValidation
    displayName: Show environment variables
    steps:
      - checkout: none
      - script: |
          echo "Do something"
        displayName: Echo message

注:

  • 请记住在依赖于手动验证作业的作业上设置
    dependsOn
  • pool: server
    中,值
    server
    是保留关键字,表示这是一项无代理作业
© www.soinside.com 2019 - 2024. All rights reserved.