Многопроектные конвейеры, запускающие друг друга

На Gitlab-CI у меня есть два проекта, которые работают вместе. Иногда обновляется только проект A, иногда только B, а иногда A + B (когда выпуски связаны). Я хотел бы создать конвейер для каждого проекта, который запускает один проект и запускает другой только в случае необходимости. Я использовал нисходящий триггер, но столкнулся с двумя конфликтующими ситуациями:

Когда я нажимаю только A на выпуске ветки- *, я хочу запустить master на B и наоборот

Когда я нажимаю A и B, потому что релиз связан с двумя проектами, он запускает конвейер A, затем B, затем B запускает A, затем A запускает B, и это навсегда. (Я не проверял этот случай, но теоретически это произойдет)

Есть идеи, как решить эту ситуацию?

Использование чатов со Slack - решение, которое можно рассмотреть.


person DeepBlueMussel    schedule 18.11.2020    source источник


Ответы (1)


Я нашел ответ, просто поигравшись с CI_PIPELINE_SOURCE в нисходящем конвейере. Если $ CI_PIPELINE_SOURCE == pipeline, не выполнять эту задачу.

person DeepBlueMussel    schedule 18.11.2020