Azure cron конвейер всегда работает - PullRequest
0 голосов
/ 06 января 2020

Я настроил Azure конвейер для запуска GUI тестов два раза в день. Согласно документации, он должен запускаться только в случае изменения кода, но он всегда выполняется.

Это мое расписание cron в "azure -pipelines-cypress. xml"

schedules:
- cron: "0 10 * * *"
  displayName: Daily 12:00 build (UTC 10:00)
  branches:
    include:
    - master

Обратите внимание, что в документации (https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops&tabs=yaml#scheduled -triggers ) говорится:

always: boolean # всегда ли запускать конвейер или только при наличии исходного кода Изменения с момента последнего запуска. По умолчанию установлено значение false.

Это просто ошибка или я что-то упустил?

1 Ответ

1 голос
/ 07 января 2020

Azure cron конвейер всегда работает

Update2:

Я не хочу, чтобы он запускался каждый раз, когда Мастер ветка обновляется. Он должен запускаться при обновлении главной ветви И только в запланированное время.

Но разве это не ожидаемое поведение моего текущего конвейера? Текущее поведение действует так, как будто я установил «всегда: истина»

Прежде всего, спасибо Мику за ваше терпение в предоставлении большого количества подробной информации.

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

Итак, причина, по которой ваш конвейер все еще выполняется, даже если вы не вносите никаких изменений в код / ​​yaml.

Если я успешно построю конвейер, запланированные триггеры будут работать как положено.

Итак, следует сказать, что документация недостаточно ясна, это должно быть:

always: boolean # всегда ли запускать конвейер или только при наличии исходного кода изменения кода с момента последнего успешного запуска. По умолчанию установлено значение false.

Я отправляю это в MS, Спасибо за помощь в создании лучшего Azure DevOps.

Надеюсь, это поможет.

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