【问题标题】:How do I set up a CI/CD pipeline using AWS CodePipeline for a Flask application deployed using Zappa?如何使用 AWS CodePipeline 为使用 Zappa 部署的 Flask 应用程序设置 CI/CD 管道?
【发布时间】:2020-05-29 18:19:51
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    以下是一些可以帮助您完成任务的一般准则。

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

    2. 在您的 pipenv 环境中安装 Zappa。使用pipenv install zappa

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

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

    5. 重要 - 您必须直接向管道指定 AWS 密钥和秘密。
      为此,请确保您删除 profile_name 键 从 zappa_settings.json 并通过管道密钥库设置提供它们。

    6. 运行第一个zappa deploy 并确认一切运行顺利。

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

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

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

    祝你好运!

    【讨论】:

      【解决方案2】:

      先决条件: 本地机器执行 zappa init 将创建 zappa_settings.json 文件。您可以根据您的要求修改 zappa_settings.json。 在根目录中包含 zappa_settings.json 和 requirements.txt

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

      【讨论】:

        猜你喜欢
        • 2020-04-11
        • 1970-01-01
        • 2018-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-23
        相关资源
        最近更新 更多