# #google-cloud-platform #cloud #google-cloud-build
Вопрос:
Мне нужно создать зависимый триггер в облачной сборке. В настоящее время у меня есть два триггера, как показано на рисунке ниже, оба из которых создаются при отправке события в главную ветвь в соответствующих репозиториях.
«app-engine-тест» запускается при отправке кода в облачное хранилище, тогда как «seleniumTest» запускается при отправке кода в репозиторий Git.
Однако я хочу запустить триггер «seleniumTest» после завершения сборки «app-engine-test». Я не смог найти такой настройки в пользовательском интерфейсе GCP.
Кто-нибудь может, пожалуйста, помочь?
Ответ №1:
Вы можете сделать это, используя сообщение Pub/Sub в качестве триггера для зависимой сборки.
Когда запускается сборка CloudBuild, она публикует сообщения в пабе/подразделе cloud-builds
— см. https://cloud.google.com/build/docs/subscribe-build-notifications.
Поэтому , если у вас есть сборки app
и test
, app
они будут срабатывать при переходе в систему управления версиями и test
срабатывать при публикации сообщения по этой cloud-builds
теме.
Я не проверял это сам, но мне нужно что-то подобное, поэтому я обновлю этот ответ по ходу. Если окажется, что вы не можете подписаться на cloud-builds
событие, то в конце app
сборки вы также можете опубликовать сообщение в своем собственном пабе/подразделе, которое затем можно использовать для запуска второй сборки.
Другим решением в вашем случае может быть объединение двух проектов и простое выполнение тестов selenium в качестве заключительного шага сборки после успешного развертывания кода.
Комментарии:
1. Спасибо, что вернулись. Я действительно изучил тему «сборщики мусора» после того, как опубликовал этот вопрос. Но я не смог найти тему облачных сборок в pubsub.. разве она не должна быть там. Я также попытался создать собственную тему, но не смог создать правильную облачную функцию для этого. Какие-нибудь указания??
2. @adev2086 Да, он должен быть там, возможно, вам не хватает каких-то разрешений, чтобы его видеть?! (этого не должно произойти, если вы один строите, но все же стоит проверить). Кроме того, что вы имеете в
couldn't get to create a correct cloud function for this
виду под этим ? У вас были какие-нибудь ошибки? Возможно, стоит создать еще один вопрос с кодом ваших функций и подробно объяснить, что не работает.