Есть несколько способов сделать то, что вы хотите, но все они основаны на том, что вы проецируете настройки A в gitlab и добавляете токен триггера. Это можно сделать на странице <project A's gitlab URL>/settings/ci_cd
, нажав Add trigger
в разделе Триггеры.
Вы также найдете различные способы использования этого триггерного токена на этой странице.
Для полноты вот несколько способов, упомянутых там:
1 Использование CURL
Если вы можете использовать curl в конце сборки проектов B или C, просто добавьте следующее:
curl -X POST \
-F token=TOKEN \
-F ref=REF_NAME \
<gitlab_url>/api/v3/projects/1/trigger/builds
Где TOKEN — это токен триггера, который вы только что создали для проекта A, а REF_NAME — это имя ветки или тега, для которого выполняется сборка.
Это можно сделать, если у вас есть автоматические сборки для проектов B и C (например, с использованием файла .gitlab-ci.yml
).
2 Использование вебхука
Вы можете добавить веб-хук в проекты B и C через страницу настроек/интеграции этих проектов.
Просто добавьте следующий веб-хук на push-события:
<gitlab_url>/api/v3/projects/1/ref/REF_NAME/trigger/builds?token=TOKEN
Где TOKEN и REF_NAME такие же, как указано выше.
person
Jawad
schedule
16.03.2017