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/