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(???) подхватывают эти изменения и проверяют код.