问题描述
我们有多个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 (将#修改为@)