#git #heroku #github #continuous-integration #circleci
#git #heroku #github #непрерывная интеграция #circleci
Вопрос:
Я хочу добиться такого рабочего процесса в своем проекте: я создаю git push origin master
, затем запускаются тесты, затем после тестов проект развертывается в Heroku.
Я уже настроил автоматическое развертывание на Heroku из репозитория github и проверил, что он должен ждать прохождения тестов CircleCI. Но когда я запускаю git push origin master
(где origin
находится репозиторий GitHub), ничего не происходит. И тесты запускаются только тогда, когда я вручную захожу в панель управления CircleCI, затем в настройки проекта, затем в Test commands
, а затем нажимаю Save and Go
. Это запускает новую сборку, и после ее завершения мое приложение развертывается.
Как я могу это исправить?
Комментарии:
1. Один из методов заключается в использовании двух отдельных сервисов, существующих на GitHub. Автоматическое развертывание GitHub создаст событие развертывания в любое время, когда будет отправлен
master
запрос. Пока вы вносите изменения в ветку функций и объединяетесь толькоmaster
после тестов CircleCI, используя защищенные ветки / статусы, это сработает. Затем вы можете настроить службу HerokuBeta, которая вызывает Heroku всякий раз, когда отправляется событие развертывания.
Ответ №1:
Я делаю огромный удар в темноте, потому что вы ничего не связали, но есть ли у вас circle.yml
файл в корне вашего репозитория со всеми необходимыми командами тестирования и развертывания? Похоже, вам этого не хватает. После добавления этого ожидаемый рабочий процесс должен «просто работать».
Комментарии:
1. У меня его нет, но я не уверен, нужно ли мне это, потому что, если я запускаю свои тесты вручную (как я сказал в вопросе), они пройдут (вот почему я предполагаю, что команды тестов уже настроены)