GitHub - хранилище за maribhezDietasBot за проекта на курса за виртуална инфраструктура

ТЕЛЕГРАМЕН БОТ ЗА ПОДКРЕПА НА ХРАНИТЕЛНИ ДИЕТИ.

виртуална

Описание и обосновка.

Ще се извърши телеграмен бот, където се съхраняват хранителни диети (и може би повече информация, която ще се появи по време на същото), както добавени от потребителя на споменатото приложение (чрез приложение, което ще бъде създадено по-късно), както е дефинирано по подразбиране при създаване бота.

Това, което ще позволи това, ще бъде както да се консултирате с пълна диета, така и да можете да запомните кое ястие трябва да изберете, за да спазвате диетата си, без повече да вдигате телефона например. Ще бъде проучена възможността за добавяне на рецепти, за да подобрим нашите умения в кухнята.

Услуги и инструменти.

  1. Използване на PostgreSQL като база данни.
  2. Използване на Travis-ci за постигане на непрекъсната интеграция и проверка, че средата работи правилно.
  3. Този бот е изграден на Python 3.5.2.
  4. За използването и тестването на този бот се използва API на Telegram.
  5. Ще е необходима облачна услуга, за да можем да разположим нашия бот.

Както показва един от инструментите, за този проект е конфигурирана непрекъсната интеграция, а в този случай Travis-ci.

Тази конфигурация е свързана с акаунта в GitHub, в допълнение към създаването на .travis.yml файл, който показва всичко необходимо за настройка на теста на проекта.

За да може Травис да конфигурира нашия проект, за да може да провежда тестовете, е създаден файл за създаване. Този файл съдържа следната информация:

инсталиране: pip install -r requirements.txt

тест: cd botDietas && pytest

изпълнение: cd botDietas && python bot_dietas.py

## Внедряване в PASS.

За този важен етап създадох акаунт в Heroku и това беше първата стъпка за конфигуриране на разполагането.

След това създадох приложение със съответната база данни (от PostgreSQL) с командите heroku създаване Y. heroku addons: създаване на heroku-postgresql: hobby-dev --app botdietas, Botdietas е името на предварително създаденото приложение. За да създадете това без грешки, е необходимо да влезете в нашия акаунт с командата heroku вход.

След като приложението и DB са създадени, е необходимо да ги синхронизирате с GitHub и хранилището, където разработваме приложението, за да можем да използваме тази конфигурация по-късно.

И също така, както се вижда на следващата екранна снимка, трябва да направим внедряването на приложението да се случва автоматично, но преди да сме преминали през Travis-CI.

Следващото нещо е да зададете променливите на околната среда както на Travis-CI, така и на Heroku. Трябва да зададем като променливи на средата идентификационните данни на базата данни, създадена в Heroku и Token на бота на Telegram.

Освен това, за да Heroku знае какво да изпълни, трябва да създадем файл, наречен Procfile със следното съдържание:

работник: python botDietas/bot_dietas.py

И накрая, за да публикуваме версията на Python, по която работим, създаваме файл runtime.txt, където ще е необходимо само да добавим следното:

И сега, за да завършим, нашето приложение се стартира с командата:

heroku ps: работник на мащаба = 1 --app botdietas

Можем да видим, че приложението работи правилно чрез достъп до регистрационните файлове, предоставени от Heroku от терминала или от уеб страницата.

Ако имаме достъп от уеб страницата, ще ни бъде представено нещо подобно:

След това остава само да влезете в Telegram от бота "@DietasBot", за да тествате работата му.

Тестова среда.

Направих тази конфигурация и този етап на Ubuntu, така че инсталацията вече беше извършена от упражненията, съответстващи на същия предмет.

Първите проведени тестове бяха местните тестове и стъпките им бяха както следва.

  • Създайте Dockerfile.

Основно информацията, предадена на файла, е операционната система, която ще се използва, променливите на средата и аргументите, които ще бъдат предадени на изпълнението на контейнера и това, което трябва да бъде инсталирано.

Веднъж създадени, ние пристъпваме към инсталирането на контейнера с командата sudo docker build -t dietsbot ./, където dietasbot е името на контейнера. Трябва да имаме предвид, че трябва да използваме тази команда в папката, където се намира файлът Dockerfile, за който вече говорихме.