amazon-web-services - 如何使用 ci/cd 部署到 aws for zappa(python)

标签 amazon-web-services continuous-integration aws-code-deploy aws-codepipeline aws-codebuild

我正在使用 zappa 在 aws 上进行部署。我想在 AWS 上实现 CI/CD。 因此,我创建了一个管道并成功执行了 Aws COMMIT 和 AWS BUILD。

我无法使用 AWS CODE DEPLOY 进行部署。

Buildspec.yaml 看起来像这样:

version: 0.2


    phases:
      install:
        commands:
          - echo Setting up virtualenv
          - python -m venv venv
          - source venv/bin/activate
          - echo Installing requirements from file
          - pip install -r requirements.txt
      build:
        commands:
          - echo Build started on `date`
          - echo Building and running tests
          - python tests.py
          - flask db upgrade
      post_build:
        commands:
          - echo Build completed on `date`
          - echo Starting deployment
          - zappa update dev
          - echo Deployment completed

我应该如何在 AWS 上执行 zappa deploy 或 zappa update?

我不确定如何添加创建 appspec.yaml 文件。

请帮助!卡住!!

最佳答案

这是我使用的 buildspec.yml 文件。您可以调整它以满足您的需要(例如,包括数据库升级命令)。

version: 0.2

phases:
  install:
    commands:
      - mkdir /tmp/src/
      - mv $CODEBUILD_SRC_DIR/* /tmp/src/
      - cd /tmp/src/
      - python3 -m venv docker_env && source docker_env/bin/activate && pip install --upgrade pip==9.0.3 && pip install -r requirements.txt && zappa update production && deactivate && rm -rf docker_env
  post_build:
    commands:
      - cd $CODEBUILD_SRC_DIR
      - rm -rf /tmp/src/
      - echo Build completed on `date`

请注意,这是在 CodeBuild 中使用 Docker 镜像 danielwhatmuff/zappa:python3.6。我使用此图像是因为它基于 AWS Lambda 并针对 Zappa 进行了调整。

关于amazon-web-services - 如何使用 ci/cd 部署到 aws for zappa(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54124119/

相关文章:

python - AWS Lambda S3 复制到 Postgres 成功但不复制数据

docker - Gitlab CI 服务访问

amazon-web-services - 如何将 example.com 转发到 godaddy 的 www.example.com 以获取 s3 托管站点?

jenkins - 需要一些帮助进行 Jenkins Gradle集成

python - GitLab CI Python 黑色格式化程序说 : would reformat, 而运行黑色不会重新格式化

bash - 通过用户数据在 EC2 实例上安装 CodeDeploy 代理

amazon-web-services - 代码部署失败,没有任何错误消息

amazon-web-services - 停止AWS RDS实例以避免付款

amazon-web-services - 将文件传递到云形成中的 ec2