Node.js 如何更改“中的命令”;建筑规范yaml“;根据我的“文件”;“分行”;
我的项目中有一个“buildspec.yaml”文件。当我在“开发”分支时,他会发出一个命令来发送给定s3中的文件,但当我“推”我的“主”分支时,它必须发送到另一个s3,有没有任何方法可以在文件上设置一个条件,而不是在切换“分支”时更改文件 我的文件buildspec.yaml:Node.js 如何更改“中的命令”;建筑规范yaml“;根据我的“文件”;“分行”;,node.js,amazon-web-services,amazon-s3,yaml,aws-codepipeline,Node.js,Amazon Web Services,Amazon S3,Yaml,Aws Codepipeline,我的项目中有一个“buildspec.yaml”文件。当我在“开发”分支时,他会发出一个命令来发送给定s3中的文件,但当我“推”我的“主”分支时,它必须发送到另一个s3,有没有任何方法可以在文件上设置一个条件,而不是在切换“分支”时更改文件 我的文件buildspec.yaml: version: 0.2 phases: install: runtime-versions: nodejs: 12 commands: - npm install -g @an
version: 0.2
phases:
install:
runtime-versions:
nodejs: 12
commands:
- npm install -g @angular/cli
- npm update
build:
commands:
- ng build
post_build:
commands:
- aws s3 rm s3://link-s3-dev --recursive # when changing branches I need to change the address manually
- aws s3 cp ./dist/portaldev s3://link-s3-dev --recursive #when changing branches I need to change the address manually
artifacts:
files:
- '**/*'
当我进入主分支时,我必须更改命令以将其发送到正确的s3,是否有方法在文件上保留条件,而不是在每个分支中保持此文件不同?如果为两个分支创建两个管道,则可以使用环境变量来完成相同的操作 S3 bucket成为一个环境变量,比如BUILD\u OUTPUT\u bucket
- aws s3 rm$BUILD\u OUTPUT\u BUCKET——递归
- aws s3 cp./dist/portaldev$BUILD\u OUTPUT\u buck——递归
如果可以使用可用于生成的变量获取分支名称,则可以运行脚本从生成本身中设置适当的存储桶。如果为两个分支创建两个管道,则可以使用环境变量来完成相同的操作 S3 bucket成为一个环境变量,比如BUILD\u OUTPUT\u bucket
- aws s3 rm$BUILD\u OUTPUT\u BUCKET——递归
- aws s3 cp./dist/portaldev$BUILD\u OUTPUT\u buck——递归