Запустите задачу в зависимости от параметра на Azure Devops - PullRequest
1 голос
/ 01 ноября 2019

У меня есть шаблон задания, который используется многими конвейерами, однако я хочу запускать определенную задачу только при параметре в качестве значения. Как я могу это сделать.

Для простоты, смотрите ниже пример части шаблона запускайте задачу копирования файла, только если sourcefolder и targetfolder не пусты.

Любые предложения, как написать это условие?

parameters:
  sourceFolder: ''         
  targetFolder: ''

jobs:
 - job: 'AAA Job'


 steps: 
    # ONLY RUN BELOW TASK IF SOURCEFOLDER AND TARGETFOLDER ARE NOT EMPTY
  - task: CopyFiles@2
    displayName: 'Copy file'
    inputs:
      SourceFolder: ${{ parameters.sourceFolder}
      TargetFolder: ${{ parameters.targetFolder}}
      OverWrite: true

ОБНОВЛЕНИЕ (ниже выдает ошибку «неожиданное значение»)

- task: CopyFiles@2
  condition: ${{ if and(ne(parameters.SourceFolder,''), ne(parameters.TargetFolder,''))}}
  displayName: 'Copy Google Services Json from ${{ parameters.SourceFolder }} to  ${{ parameters.TargetFolder }}'
  inputs:
    SourceFolder: ${{ parameters.SourceFolder }}
    TargetFolder: ${{ parameters.TargetFolder }}
    OverWrite: true

1 Ответ

1 голос
/ 02 ноября 2019

Вы можете добавить приведенный ниже скрипт в файл шаблона yaml.

- ${{ if and(ne(parameters.sourceFolder,''), ne(parameters.targetFolder,''))}}:

Таким образом, конвейер должен выглядеть так:

parameters:
  sourceFolder: ''         
  targetFolder: ''

jobs:
- job: 'AAA Job'

  steps: 
  - ${{ if and(ne(parameters.sourceFolder,''), ne(parameters.targetFolder,''))}}:
    - task: CopyFiles@2
      displayName: 'Copy file'
      inputs:
        SourceFolder: ${{ parameters.sourceFolder}
        TargetFolder: ${{ parameters.targetFolder}}
        OverWrite: true

Вы можете проверить этот документ для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...