9. Развертывание на Heroku - Hoper/cicd-buzz GitHub Wiki
Сервис предлагает бесплатный тарифный план, поэтому переходите по ссылке https://signup.heroku.com и регистрируйтесь, если еще не сделали этого раньше.
Установите консольное приложение Heroku CLI и в корневой директории проекта выполните следующие команды:
[cicd-buzz] $ heroku login
[cicd-buzz] $ heroku create cicd-buz-prod
Creating app… done, ⬢ fathomless-inlet-53225
https://cicd-buzz-prod.herokuapp.com/ | https://git.heroku.com/cicd-buzz-prod.git
[cicd-buzz] $ heroku container:push web
[cicd-buzz] $ heroku ps:scale web=1
После этого у вас должна появиться возможность получить доступ к приложению по URL, выведенному командой heroku create. Чтобы автоматизировать процесс развертывания каждой сборки ветки master нашего проекта, добавьте файл ‘deploy_heroku.sh’ в директорию ‘.travis’:
#!/bin/sh
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
docker login --username=_ --password=$HEROKU_API_KEY registry.heroku.com
heroku container:push web --app $HEROKU_APP_NAME
heroku container:release web --app $HEROKU_APP_NAME
Также добавьте следующую строку в файл ‘.travis.yml’:
after_success:
— sh .travis/deploy_dockerhub.sh
— test “$TRAVIS_BRANCH” = “master” && sh .travis/deploy_heroku.sh
Наконец, добавьте еще две переменные окружения в Travis CI. Heroku API можно найти в ‘Account Settings’, а heroku App name — в выводе команды heroku create (cicd-buzz в нашем случае, мы его задали сами). И привяжите их к ветке master.
Создайте коммит в ветке master и отправьте изменения на GitHub. Новый Docker-образ после успешной сборки должен сразу попасть на Docker Hub и Heroku и будет доступен по URL: https://cicd-buzz-prod.herokuapp.com/