Вот мой «рабочий процесс проталкивания кода»:
Код отправляется в GitHub, где несколько тестов автоматически запускаются другой платформой CI / CD (не Jenkins).
После того, как эти тесты пройдут, код автоматически отправляется в наше промежуточное приложение на heroku.
Чтобы запустить производство, мы продвигаем промежуточное приложение вручную на heroku.
Что я хочу добавить:
У нас есть тест на отдельном сервере Jenkins, его цель - протестировать процесс подписки нашего приложения на производстве .Поэтому имеет смысл запускать этот тест сразу после новой сборки в производстве.
Решение, которое я сейчас рассматриваю:
Поскольку Heroku не предлагает добавлятьшаги после промоушена, и Дженкинс не может угадать, когда произошла раскрутка (поправьте меня, если я ошибаюсь!), решение, которое я сейчас рассматриваю, - это написать небольшой скрипт bash, который будет выглядеть следующим образом:
heroku pipelines:promote -a stagingApp // promote the app
JENKINS_URL/job/ourtest/build?token=TOKEN_NAME // run the Jenkins tests
Кажется разумным;это подразумевает изменение рабочего процесса от нажатия кнопки на Heroku до запуска скрипта bash.Но если есть какое-нибудь лучшее / более простое / без сценариев bash решение, я бы хотел услышать об этом.
Ура!