现在我将存储桶名称硬编码为 cp 报告文件到该存储桶,但我想创建一个环境变量,它可以从 s3 存储桶列表中拉出特定的存储桶,然后将我的报告文件 cp 到同一个存储桶。我读过很多文章,但没有帮助我。有人可以帮忙吗?
硬编码的 buildspec.yml 文件
version: 0.2
phases:
pre_build:
commands:
- docker-compose up -d
build:
commands:
- mvn clean verify
post_build:
commands:
- ls -lrt target
- aws s3 cp target/site/report/Summary.html s3://test-reports-s3
- docker-compose down
我试过的新 buildspec.yml 文件
version: 0.2
env:
variables:
S3_BUCKET: aws s3 ls | grep "my-bucket-identifier"
phases:
pre_build:
commands:
- docker-compose up -d
build:
commands:
- mvn clean verify
post_build:
commands:
- ls -lrt target
- aws s3 cp target/site/report/Summary.html $S3_BUCKET
- docker-compose down
注意:我正在对此进行参数化,因为我们无法在不同的 aws 帐户中创建相同名称的 S3 存储桶。由于 S3 Bucket 名称必须是全局唯一的。我有不同的环境,例如 QA、Demo 和 Stage 每个都有不同的存储桶名称