У нас есть приложение (назовем его репозиторий main
) на GitLab CE, в котором есть конвейер производственной сборки и развертывания, который запускается только при развертывании тега. Это достигается в .gitlab-ci.yml
через:
only:
- /^v.*$/
except:
- branches
У нас также есть два других (назовем их side
) хранилища (например, переводы и утилиты). Чего я хотел бы добиться, так это повторно запустить конвейер самого последнего (semver) тега main
, когда одна из главных ветвей этих других side
репозиториев получит толчок. Небольшая деталь в том, что один из репозиториев находится на GitHub, но я был бы рад, если бы они сначала работали над GitLab, а затем работали оттуда.
Полагаю, мне нужно использовать API GitLab для запуска конвейера. В настоящее время я настроил репо side
на GitLab - это интеграция с веб-крюками для событий push:
https://gitlab.com/api/v4/projects/{{ID}}/ref/master/trigger/pipeline?token={{TOKEN}}
, где ID
- это идентификатор проекта main
и TOKEN
маркер развертывания для него.
Однако, это только вызовет главный конвейер для нашего main
репо. Как я могу получить это (также) для повторного запуска конвейера последнего тега (или самого последнего тега конвейера)?
Во-вторых, как бы я запустил это на GitHub?