如何解决如何使用通用部署组AWS CodeDeploy从Bitbucket Pipeline进行多个应用程序部署?
我们有多个Angular Application的设置,每个应用程序都托管在同一服务器的不同目录中。每个模块都有一个不同的bitbucket分支。
我创建了一个Bitbucket管道,开发人员在该管道中将代码推送到其特定分支,并将构建版本自动部署到相应的模块目录。我已经使用AWS Codedeploy将工件上传到s3,并使用bitbucket YAML文件将构建部署到服务器。每个分支都有其YAML文件和一些Shell脚本来完成构建部署。
现在,这里的问题是我无法使用单个部署组(在CodeDeploy中定义)执行此操作。每次推送代码,它都会清除先前执行的目录内容。
这是我的bitbucket-pipelines.yaml文件
image: node:10
pipelines:
branches:
module_a:
- step:
name: Installation,Build & Deploy
script:
- npm install -g @angular/cli
- yarn
- npm run build-dev
- ls -ltr
- cd dist/
- cp ../appspec.yml .
- apt-get update && apt-get install -y
- apt-get install -y zip
- zip -r module_a.zip .
- pipe: atlassian/aws-code-deploy:0.2.7
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
APPLICATION_NAME: $APPLICATION_NAME
S3_BUCKET: $S3_BUCKET
COMMAND: 'upload'
ZIP_FILE: 'module_a.zip'
VERSION_LABEL: 'module_a-1.0.0'
- pipe: atlassian/aws-code-deploy:0.2.7
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
APPLICATION_NAME: $APPLICATION_NAME
DEPLOYMENT_GROUP: $DEPLOYMENT_GROUP
S3_BUCKET: $S3_BUCKET
WAIT: 'true'
COMMAND: 'deploy'
VERSION_LABEL: 'module_a-1.0.0'
IGNORE_APPLICATION_STOP_FAILURES: 'true'
FILE_EXISTS_BEHAVIOR: 'OVERWRITE'
和appspec.yaml
version: 0.0
os: linux
files:
- source: ./
destination: /var/www/html/module_a
尽管可以为每个模块使用多个部署组来实现。但是需要我为即将推出的任何新模块创建部署组。
是否有可能或方法通过单个部署组来实现这一目标,以便可以完全自动化部署管道?
任何帮助/建议都受到高度赞赏吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。