6. Превращаем buzz генератор в простое веб приложение - Hoper/cicd-buzz GitHub Wiki

Поскольку мы будем разворачивать веб-приложение на Heroku, чтобы научить buzz-генератор принимать HTTP-запросы и выводить HTML, сделаем для него обертку на Python Flask. Добавьте в корневую директорию проекта файл ‘app.py’, содержащий такой код:

import os
import signal
from flask import Flask
from buzz import generator

app = Flask(__name__)

signal.signal(signal.SIGINT, lambda s, f: os._exit(0))

@app.route("/")
def generate_buzz():
    page = '<html><body><h1>'
    page += generator.generate_buzz()
    page += '</h1></body></html>'
    return page

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=os.getenv('PORT')) # port 5000 is the default

Также добавьте еще одну строку в ‘requirements.txt’:

pytest==3.0.6
Flask==1.1.1

И установите новую зависимость:

(venv) [cicd-buzz] $ pip install -r requirements.txt

Теперь веб-приложение может быть запущено следующей командой:

[cicd-buzz] $ python app.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

Откройте в браузере ссылку http://localhost:5000 (если делайте на локальной машние) или http://IP:5000 (если делайте на виртуалке) и насладитесь результатами своего труда. Чтобы немного повеселиться, обновите страничку несколько раз.

Наконец, не забудьте добавить коммит и отправить изменения на GitHub:

[cicd-buzz] $ git add app.py
[cicd-buzz] $ git add requirements.txt
[cicd-buzz] $ git commmit -m "Step 5"
[cicd-buzz] $ git push

Теперь можно с удовольствием наблюдать, как Travis CI и Better Code Hub(???) подхватывают эти изменения и проверяют код.

⚠️ **GitHub.com Fallback** ⚠️