Всё то, о чём пойдет речь ниже, можно посмотреть в этом видео
ШАГ 1. Регистрация в Heroku.com
- Переходим на официальный сайт Heroku, сразу в раздел регистрации
- Заполняем поля в форме, проходим верификацию и нажимаем CREATE FREE ACCOUNT
- Появится окно ниже, нужно подтвердить аккаунт. Для этого идём на почту, которую указывали при регистрации, находим письмо от Heroku нажимаем на ссылку в письме.
- После нажатия ссылки из письма откроется форма для создания пароля - укажите его и нажмите SET PASSWORD AND LOG IN
- После создания пароля, автоматически должна пройти авторизация и открыться окно ниже, если открылась страница с надписью Page Not Found то просто снова перейдите по heroku.com и должно появится окно ниже
Переходим в самый низ и нажимаем Accept
Регистрация завершена. Перед вами стартовое окно для создания приложения
ШАГ 2. Регистрация в Github.com
Регистрируемся на официальном сайте Github, там все интуитивно понятно. Но если возникнут какие-то трудности, можно воспользоваться инструкцией регистрации в Github.com
ШАГ 3. Установка Git
- Переходим на официальный сайт и скачиваем Git для Windows
- Запускаем скачанный файл, жмем ВЕЗДЕ Next, обязательно убедитесь, что стоит галочка напротив Windows Explorer integration
ШАГ 4. Установка Python
Если вдруг по каким то причинам у вас еще не установлен Python, то установите согласно инструкции ниже, иначе переходите сразу к ШАГУ 5.
- Переходим на официальный сайт и скачиваем Python последней версии
- Запускаем скачанный файл, обязательно убедитесь, что стоит галочка напротив Add Python 3.10 to PATH!
И жмем Install now
Готово, далее пойдет установка и считаем что этот шаг завершен, Python установлен идем далее
ШАГ 5. Написание Python кода
Теперь напишем небольшой код Python программы, которая будет обрабатывать наши запросы на сервер, чтобы проверить корректно ли мы настроили наш бесплатный вебсервер
- Создайте папку, в которой будет храниться проект
- Зайдите в созданную папку зажмите клавишу Shift + нажмите правой кнопкой мыши по пустой папке и нажмите на Open PowerShell window here
- Чтобы не засорять свой python установленный на ПК разными ненужными пакетам, принято создавать виртуальную машину и далее всю работу и запуск кода осуществлять в ней. Создадим виртуальную машину, написав команду ниже:
python -m venv myvenv
- Запустим виртуальную машину, введя команду ниже:
myvenv/Scripts/activate
ВАЖНО! Может возникнуть ошибка:
cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
для её устанения введите команду ниже, нажмите Enter и после введите "Y" и нажмите Enter, затем снова попробуйте запустить виртуальную машину снова:Set-ExecutionPolicy Unrestricted -Scope ProcessЕсли в консоли появилась надпись (myvenv) в начале строки, то значит машина запустилась
- Теперь установим Flask для приема запросов и обработки их на Python и установим Gunicorn для работы веб сервера на Heroku на нашу машину, введя команды ниже:
pip install flaskpip install gunicorn
- Все готово для написания кода, создадим python файл с названием app.py, в котором будет наша программа
- Открываем файл любым текстовым редактором, например в блокноте, и вставьте код ниже, сохраните изменения:
from flask import Flask, json, request
import logging
logging.basicConfig(level=logging.DEBUG)
app = Flask(__name__)
@app.route('/')
def index():
return "<p>Hello, World!</p>" - Теперь необходимо прописать список необходимых пакетов (например Flask, Gunicorn), которые Heroku нужно будет установить, чтобы наш проект работал. Для этого создадим файл requirements.txt, введя в консоли команду ниже:
pip freeze > requirements.txt
- Создайте файл без расширения с названием Procfile и пропишите в нем код ниже (он нужен для внутренней работы Heroku):
web: gunicorn app:app
Результат:
- Создайте файл без названия, но с раширением .gitignore и пропишите в нем название папки с виртуальной машиной, чтобы она не ушла в Git (ненужный хлам)
- И на последок, по желанию, создайте файл Readme.md , в нем можете написать о себе или о своем проекте и другие люди, перейдя на вашу станицу в Github, смогут больше о вас узнать
Самое сложное позади, в результате должна получиться структура проекта как на скриншоте ниже:
ШАГ 6. Перенос проекта с ПК в Github
- Авторизовываемся в GitHub и в верху слева нажимаем Create repository
- Заполняем Repository name, по желанию Description (описание) и нажимаем Create repository
- После создания откроется страница с командами для загрузки проекта в Github ниже - не закрывайте её! Она еще пригодится!
- Настройте доступ в Github через SSH по этой инструкции. Если не хотите, то в предыдущем пункте выберите не SSH, а HTTPS!
- Возвращаемся в папку с проектом и запускаем Git bash
- Прописываем команды ниже:
git initgit add .git commit -m "first commit"git push -u origin master
Если вы все сделали правильно, то обновив страницу в Github, на ней должны отобразиться файлы проекта
ШАГ 7. Настройка проекта в Heroku
- Авторизуемся на сайте heroku, на главной странице нажимаем конпку Create new app
- Введите название вашего приложения и выберите регион (для России выбираем europe)
- Переходим в раздел Deploy, нажимаем Connect to GitHub
- Откроется дополнительная секция, снова нажимаем кнопку Connect to GitHub
В полявившемя окне нажимаем Authorize heroku
Вводим пароль от Github - Далее должен появится ваш репозиторий, чтобы найти наш проект нажимаем Search, после того как проект будет найдем нажимаем Connect
Пример успешного подключения:
- Теперь активируем автоматическую загрузку в heroku любых изменений, которые отправляются в Github, для этого опускаемся ниже и нажимаем Enable Automatic Deploys
- Загрузим проект из Github на heroku, нажав Deploy Branch (делается единожды, дальше загрузка будет автоматическая)
- Ждем пару минут, пока проект загрузится в Heroku, проверить что проект загружен можно, посмотрев логи, перейдя в More->View logs - там должна появится строчка Build succeded.
p.s. в любых ситуациях когда ваше приложение не работает открывайте логи и ищите в них ошибки. - Как только проект загружен, переходим в раздел Resources, заходим в изменение Free Dynos, чтобы включить его (по умолчанию выключено всегда)
Включаем и нажимаем Confirm
Поздравляю! Настройка завершена, чтобы проверить что все работает нажмите Open app
Должен открыться ваш новый сайт, с тектом Hellow World
Домашнее задание:
Поменяйте у себя на ПК в файле app.py текст c Hellow World на любой другой и через Git загрузите изменения на Github. В результате надпись на вашем сайте должна измениться!
Спасибо за внимание!