- 21, Oct 2024
- #1
У меня есть три отдельных задания многоветвевого конвейера, настроенные в Jenkins, которые я хочу последовательно называть нисходящими заданиями. Обратите внимание, что все эти 3 вакансии имеют отдельный git-репозитории!
У каждого задания есть свой Jenkinsfile.
Первое задание всегда запускается мной вручную через пользовательский интерфейс Jenkins. На последнем этапе файла Jenkins первого задания запускается второе задание, как показано ниже. (Второе задание таким же образом запускает третье задание)
stage('Trigger second job')
{
steps {
build job: 'second_job_name', propagate: true, wait: false
}
}
Теперь этот шаг всегда кажется выполненным успешно, когда первое задание завершается, в журналах не появляется никаких ошибок или предупреждений. Это должно означать, что было вызвано второе нижестоящее задание, но, к сожалению, это не всегда так:
- Иногда первое задание запускает второе задание, но второе задание никогда на самом деле не запускает третье, хотя, похоже, оно проходит соответствующий этап Jenkinsfile.
- Иногда первое задание завершается, но второе задание вообще не запускается.
Единственный раз, когда эта установка работает должным образом, — это когда есть новые коммиты во все 3 репозитория git. Затем все 3 задания запускаются последовательно без проблем.
Кто-нибудь знает причину такого непоследовательного поведения?
Может быть, это потому, что задания основаны на разных репозиториях git?
Могу ли я что-нибудь сделать, чтобы это исправить?