如何使用AWS CodePipeline为使用Zappa部署的Flask应用程序设置CI / CD管道?

时间:2020-02-13 23:33:33

标签: continuous-integration continuous-deployment aws-codepipeline continuous-delivery zappa

我需要有关使用AWS CodePipeline为使用Zappa部署的Flask应用程序设置CI / CD管道的逐步指南。

Zappa是一个开放源代码框架,可帮助在AWS Lambda和API Gateway上构建和部署无服务器,事件驱动的Python应用程序,特别是WSGI Web应用程序(如Django)和Flask应用程序。 Zappa的GitHub存储库位于https://github.com/Miserlou/Zappa

2 个答案:

答案 0 :(得分:1)

以下是一些通用准则,可以帮助您完成任务。

  1. 为项目使用Pipenv,并通过pipenv install命令安装所有软件包

  2. 在pipenv env上安装Zappa。使用pipenv install zappa

  3. 运行zappa Init创建 zappa_settings.json 文件

  4. 根据您的项目要求编辑并配置 zappa_settings.json

  5. 重要信息-您将必须直接向管道指定AWS密钥和机密。
    为此,请确保您删除 配置文件名称键 从 zappa_settings.json 中获取,并通过管道Keystore设置提供。

  6. 运行第一个zappa deploy,并确认一切运行正常。

  7. 配置管道以自动从存储库中检索更改并将其部署official python docker image

  8. 将以下行添加到您的 buildspec.yml 文件中:

    commands:
        - pip install pipenv
        - pipenv install
        - pipenv run zappa update
    

祝你好运!

答案 1 :(得分:0)

先决条件: 在本地计算机上执行zappa初始化,这将创建zappa_settings.json文件。您可以根据需要修改zappa_settings.json。 在根目录中包含zappa_settings.json和requirements.txt

  • 将docker映像用于python示例“ frolvlad / alpine-python3”
  • apk添加构建基础
  • apk添加python3-dev
  • pip install pipenv
  • pipenv运行pip install -r requirements.txt(您可以在其中指定要安装的软件包及其版本)
  • pipenv运行zappa deploy --all(或您在zappa_settings.jsonfile中指定的任何环境)|| pipenv运行zappa更新--all