В каком-то древнем году я зачем-то зарегистрировался на Heroku.
И с тех пор даже не представлял что там происходит и зачем это мне вообще. Но вот недавно в связи с изучением языка Go (golang) пришлось поискать платформы на которых можно развернуть проект на Go. Помимо Google Application Engine, оказалось, что Heroku тоже поддерживает Go.
И развертывание проекта в инфраструктуру Heroku осуществляется довольно быстро и удобно.
За основу поста взят материал книги Building Web Apps with Go, thanks Jeremy Saenz.
Я опускаю подробности по разработке на Go, ибо это достаточно популярно описано в вышеупомянутой книге, остановлюсь лишь на развертывании проекта, ибо это у меня получилось не сразу.
Итак, веб-проект на Go разворачивается в Heroku следующим образом:
1. Определимся с каталогом вашего проекта. Пусть это будет
2. В данном каталоге имеется файл
3. Переходим в каталог проекта
и создаем дополнительный файл -
Внимание! Создание
4. Предположим, что развертываемое приложение будет называться
Тогда в
Внимание! Создание
Ставим
В каталоге проекта запускаем
Опция
После этого проект готов к развертыванию.
5. Создаем аккаунт Heroku - id.heroku.com/signup и устанавливаем полезную тузлу для развертывания - Heroku Toolbelt.
6. Если у вас еще не установлен Git - ставим.
7. В каталоге проекта создаем пустой репозиторий, добавляем в него файлы проекта (в том числе всё из каталога
8. Создаем приложение в Heroku командой
9. После успешного создания пушим первый коммит в мастер-ветку приложения:
10. После удачного коммита запускаем приложение:
11. В случае неожиданностей можно посмотреть логи:
12. Также ваше приложение становится видно в дашборде Heroku.
Вот и все. Далее можно модифицировать имеющиеся и добавлять новые файлы в проект и коммитить/пушить как обычно.
Более подробно процесс развертывания описан здесь.
Описание развертывания проекта в инфраструктуру Google Application Engine можно найти здесь.
И с тех пор даже не представлял что там происходит и зачем это мне вообще. Но вот недавно в связи с изучением языка Go (golang) пришлось поискать платформы на которых можно развернуть проект на Go. Помимо Google Application Engine, оказалось, что Heroku тоже поддерживает Go.
И развертывание проекта в инфраструктуру Heroku осуществляется довольно быстро и удобно.
За основу поста взят материал книги Building Web Apps with Go, thanks Jeremy Saenz.
Я опускаю подробности по разработке на Go, ибо это достаточно популярно описано в вышеупомянутой книге, остановлюсь лишь на развертывании проекта, ибо это у меня получилось не сразу.
Итак, веб-проект на Go разворачивается в Heroku следующим образом:
1. Определимся с каталогом вашего проекта. Пусть это будет
~/go_proj/mygoproj/
2. В данном каталоге имеется файл
main.go
с кодом веб-приложения. Этот момент, кстати, я не прояснял до конца - как будет вести себя Heroku если файл будет называться как-то иначе или если Go-файлов будет несколько.3. Переходим в каталог проекта
> cd ~/go_proj/mygoproj/
и создаем дополнительный файл -
Procfile
> touch Procfile
Внимание! Создание
.godir
файла является устарешим подходом. Вместо этого используется Godep
.4. Предположим, что развертываемое приложение будет называться
mywebapp
Тогда в
Procfile
заносим единственную строку:web: mywebapp
Внимание! Создание
.godir
файла является устарешим подходом. Вместо этого используется Godep
.Ставим
Godep
:> go get github.com/tools/godep
В каталоге проекта запускаем
> godep save -r
Godep
переносит все ваши зависимости из путей $GOPATH
в каталог Godeps/
проекта.Опция
-r
форматирует код ваших go-файлов и изменяет пути импорта внешних библиотек.После этого проект готов к развертыванию.
5. Создаем аккаунт Heroku - id.heroku.com/signup и устанавливаем полезную тузлу для развертывания - Heroku Toolbelt.
6. Если у вас еще не установлен Git - ставим.
7. В каталоге проекта создаем пустой репозиторий, добавляем в него файлы проекта (в том числе всё из каталога
Godep
) и коммитим:
git init
git add -A
git commit -m "Initial Commit"
8. Создаем приложение в Heroku командой
heroku create -b https://github.com/kr/heroku-buildpack-go.git
9. После успешного создания пушим первый коммит в мастер-ветку приложения:
git push heroku master
10. После удачного коммита запускаем приложение:
heroku open
11. В случае неожиданностей можно посмотреть логи:
heroku logs
12. Также ваше приложение становится видно в дашборде Heroku.
Вот и все. Далее можно модифицировать имеющиеся и добавлять новые файлы в проект и коммитить/пушить как обычно.
Более подробно процесс развертывания описан здесь.
Описание развертывания проекта в инфраструктуру Google Application Engine можно найти здесь.
Комментариев нет:
Отправить комментарий