Azure условие DevOps на пути к источникам - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть следующая структура репо:

/
  /dir1
    /file
  /dir2
    /file

Можно ли построить условие Azure DevOps для выполнения определенного задания при изменении ./dir1/file и другого задания при изменении ./dir2/file?

Ответы [ 2 ]

2 голосов
/ 15 апреля 2020

У нас есть условие, чтобы контролировать, нужно ли выполнять задание или нет. Но это не основано на фильтрах пути.

Вы можете указать условия, при которых выполняется каждое задание. По умолчанию задание запускается, если оно не зависит от какого-либо другого задания, или если все задания, которые оно выполняет зависит от того, завершили и преуспели. Вы можете настроить это поведение, заставляя задание запускаться, даже если предыдущее задание не выполнено, или задавая пользовательское условие.

Вам не нужно запускать задания в соответствии с исходным путем. В качестве обходного пути вы можете создать два конвейера для разделения заданий и в триггере определить, какие из них будут работать при использовании фильтров Path:

На вкладке Triggers есть возможность указать исходный путь к проекту, который вы хотите построить. Если указан этот исходный путь, сборка будет выполняться только в тех фиксациях, которые содержат изменения, соответствующие правилам включения / исключения.

enter image description here

1 голос
/ 14 апреля 2020

Из того, что я знаю, это невозможно для конкретной работы. Документация объясняет только то, как это можно сделать для всего конвейера.

Здесь приведен, например, синтаксис для задания, и нет параметров триггера, и вы не найдете здесь параметров триггера:

- job: string  # name of the job, A-Z, a-z, 0-9, and underscore
  displayName: string  # friendly name to display in the UI
  dependsOn: string | [ string ]
  condition: string
  strategy:
    parallel: # parallel strategy
    matrix: # matrix strategy
    maxParallel: number # maximum number simultaneous matrix legs to run
    # note: `parallel` and `matrix` are mutually exclusive
    # you may specify one or the other; including both is an error
    # `maxParallel` is only valid with `matrix`
  continueOnError: boolean  # 'true' if future jobs should run even if this job fails; defaults to 'false'
  pool: pool # see pool schema
  workspace:
    clean: outputs | resources | all # what to clean up before the job runs
  container: containerReference # container to run this job inside
  timeoutInMinutes: number # how long to run the job before automatically cancelling
  cancelTimeoutInMinutes: number # how much time to give 'run always even if cancelled tasks' before killing them
  variables: { string: string } | [ variable | variableReference ] 
  steps: [ script | bash | pwsh | powershell | checkout | task | templateReference ]
  services: { string: string | container } # container resources to run as a service container

Вот Документация для рабочих мест.

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