我正在使用 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/