Развертывание Python бота Sketal для ВКонтакте на Heroku
![Развертывание Python бота Sketal для ВКонтакте на Heroku](/content/images/size/w2000/2018/01/sketal_heroku.png)
💡
Heroku больше не предоставляет бесплатную возможность деплоя: FAQ
Sketal - асинхронный чат-бот для ВКонтакте.
GitHub: https://github.com/vk-brain/sketal
💡
Гайд предполагает что бот уже скачан и настроен.
Содержание:
- Регистрация
- Установка необходимых пакетов
- Аутентификация
- Создание приложения Heroku
- Подготовка к загрузке на Heroku
- Загрузка бота на Heroku через git
- Запуск бота
- Рекомендации
1. Регистрация
Первым делом создайте аккаунт Heroku:
https://signup.heroku.com/
2. Установка необходимых пакетов
Загрузите и установите соответствующие вашей системе Heroku CLI и Git.
Heroku CLI:
Git:
3. Авторизация
Авторизируйтесь в вашем аккаунте Heroku через terminal/cmd:
heroku login
![--------------2018-01-31---20.51.37](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---20.51.37.png)
4. Создание приложения Heroku
Для начала переместитесь в директорию с расположением бота:
cd %directory%
![--------------2018-01-31---21.01.56](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.01.56.png)
Создайте приложение в Heroku:
heroku create %app_name% --buildpack http://github.com/heroku/heroku-buildpack-python.git
![--------------2018-01-31---21.05.04](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.05.04.png)
5. Подготовка к загрузке на Heroku
Для того чтобы Heroku принял бота нужно создать необходимые файлы конфигурации:
runtime.txt
Procfile //без расширения
![--------------2018-01-31---21.34.21](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.34.21.png)
Заполните созданные файлы:
runtime.txt:
python-3.6.0 или python-3.6.4
Procfile:
worker: python3 bot.py
6. Загрузка бота на Heroku через git
git init
heroku git:remote -a %app_name%
git add .
git commit -am "first deploy"
git init
heroku git:remote -a %app_name%
git add .
git commit -am "first deploy"
![--------------2018-01-31---21.37.40](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.37.40.png)
git push heroku master
![--------------2018-01-31---21.38.35](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.38.35.png)
![--------------2018-01-31---21.39.09](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.39.09.png)
7. Запуск бота
Перейдите во вкладку Resources и запустите бота:
![--------------2018-01-31---21.41.06-copy](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---21.41.06-copy.png)
Для того чтобы убедиться что все хорошо - проверьте логи:
![--------------2018-01-31---22.02.52](https://blog.disonds.com/content/images/2018/01/--------------2018-01-31---22.02.52.png)
8. Рекомендации
- Ежемесячно Heroku выдает 550 часов работы приложений на бесплатном тарифе. (УЖЕ НЕ ВЫДАЕТ)
Привяжите кредитную карточку к аккаунту, и будете получать каждый месяц дополнительные 450 часов:
https://devcenter.heroku.com/articles/free-dyno-hours - Советую создать бесплатную базу данных Heroku PostgresSQL. Она нужна для работы некоторых плагинов, и, возможно, понадобится вам в дальнейшем.
Сделать это можно на данной странице:
https://elements.heroku.com/addons - Для удобного редактирования бота и последующей загрузки на Heroku рекомендую использовать PyCharm:
https://www.jetbrains.com/pycharm/download/
Остались вопросы? Задавайте в комментариях.