在 buildspec.yml 文件中参数化 s3 存储桶名称

问题描述 投票:0回答:0

现在我将存储桶名称硬编码为 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 每个都有不同的存储桶名称

amazon-web-services amazon-s3 aws-codepipeline aws-codebuild buildspec
© www.soinside.com 2019 - 2024. All rights reserved.