Heroku deployment

Як швидко "залити" вашу Django аплікацію в інтернет

11.07.2015

Після того як ви написали "мега-крутий" веб сайт на Python, то наступним питанням буде як його показати друзям. Бажано безкоштовно і без великого "геморою".
Є багато різних сервісів які дозволяють хостити ваш сайт: Heroku, Amazon AWS, Digital Ocean, Google App Engine, тощо. Проте перший мені чомусь найближче до душі. Про те, як за 15 хвилин запустити бойовий Django веб-сервер на Heroku.

tl;dr

Якщо коротко, то можете зробити форк мого шаблону за адресою: https://github.com/wowkin2/django-project-template.
Чи для супер лінивих — кнопка для автоматичного деплою: Deploy on Heroku
І синхронізовуєте БД, викликавши з консолі:
heroku run --app django-project-template python manage.py syncdb
Далі можете використовувати його у своїх потребах як завгодно (ліцензія MIT).
Якщо знаєте як його можна покращити — пишіть в коментарах чи робіть безпосередньо push request на GitHub.
Робочий приклад тут:
https://django-project-template.herokuapp.com/

Що нам необхідно

Акаунт на Heroku

Зареєструватись можна за посиланням: signup.heroku.com/dc
Там вводимо ім'я/прізвище та вибираємо мову програмування Python і натискаємо створити. На пошту прийде лист підтвердження, і тільки після цього можна буде створити аплікацію на Heroku.

Heroku Toolbelt

Це програма для комунікації з вашим проектом на стороні Heroku (скачати).
Вона дозволяє: створити новий проект, подивитись історію логів, запустити віддалений скрипт (як під звичайною Linux ОС), змінити потужність вашого серверу тощо. Якщо ви плануєте працювати з Heroku тільки через веб, то встановлювати програму не обов'язково.

Акаунт на GitHub

Дозволить автоматично заливати свіжий код на бойовий сервер. Може використовуватись як одним розробником, так і командою.
Реєструєтесь на GitHub.com і створюєте новий репозиторій.
Не важливо публічний чи приватний (для студентів безкоштовно).

Встановлений Python

Скачати його можна за адресою: python.org/downloads
В даний момент я використовую версію 2.7.8. Тому деякі пункти можуть відрізнятись, якщо ви використовуєте іншу версію. Наприклад:
У версії 2.7.9 додали пакет Setuptools + Pip, для попередніх версії (в т.ч. 2.7.8) його можна доставити окремо з:
https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
https://raw.github.com/pypa/pip/master/contrib/get-pip.py
Просто скачуєте і запускаєте як звичайний python-файл.
Також, рекомендую додати Python до змінних оточення (enviroment variables):
До змінної PATH додати "C:\Python27\;C:\Python27\Scripts\", а до змінної PATHEXT додати ";.PY".
Після цього ви зможете виконувати будь-який Python скрипт з будь-якої папки на вашому ПК.

Зміни у коді Django-проекту

Інтеграція Heroku з репозиторієм

Далі заходимо на Heroku Dashboard і створюєм нову аплікацію. Натискаємо "Connect to GitHub" Підключаємо створений нами раніше репозиторій. І все, що залишиться, це закомітити туди весь наш код. Найпростіше це зробити з IDE (наприклад, PyCharm).
Після коміту, у вкладці "Activity" ви побачите, як проходить "білд" і подивитись логи на наявність помилок. Якщо все добре, то ви одразу можете побачити як виглядає ваш сайт за адресою: http://<назва_аплікації>.herokuappp.com

І все, якщо виникнуть якісь питання, чи помітите неточності — пишіть...


Якщо вам сподобалась стаття — поділіться з друзями:  


Коментарі: