gpt4 book ai didi

amazon-web-services - 将 AWS 信息从 CloudFormation 导入到 CodeBuild

转载 作者:行者123 更新时间:2023-12-03 07:45:55 24 4
gpt4 key购买 nike

我在 AWS 中有一个包含 Codestar、CodeBuild、CloudFormation 等的管道。

我正在尝试弄清楚如何从返回到 CodeBuild 步骤的 CloudFormation 步骤获取信息。让我来分解一下:

  1. 我有一个用于 CodeBuild 的 buildspec.yml

    # buildspec.yml

    ...
    phases:
    ...
    build:
    commands:
    - aws cloudformation package --region $REGION --template template.yml --s3-bucket $S3_BUCKET --output-template $OUTPUT_TEMPLATE
  2. 上面使用我们的 template.yml

    启动了 CloudFormation 构建
    # template.yml

    ...
    S3BucketAssets:
    Type: AWS::S3::Bucket
    ...
  3. 此时,它为 S3 存储桶创建一个唯一的名称。惊人的。现在,对于 CodeBuild 的 buildspec.yml 中的步骤 2,我想将项目推送到刚刚在 CloudFormation 模板中创建的 S3 存储桶。但是,我不知道如何从 CloudFormation 模板获取动态创建的 S3 存储桶名称。我想要类似的东西:

    # buildspec.yml

    ...
    phases:
    ...
    build:
    commands:
    # this is the same step as shown above
    - aws cloudformation package --region $REGION --template template.yml --s3-bucket $S3_BUCKET --output-template $OUTPUT_TEMPLATE
    # this is the new step
    - aws s3 sync dist_files/ s3://{NAME_OF_THE_NEW_S3_BUCKET}

如何获取动态命名的 S3 存储桶以便我可以推送到它?

我知道在 CloudFormation 模板中,您可以使用 !GetAtt [ClientWebAssets, WebsiteURL] 之类的内容引用 S3 存储桶名称。但是,我不知道如何从 cloudformation 模板中获取该信息并返回到 codebuild 模板中。

最佳答案

您可以改用 CodePipeline。第一阶段是通过 cloudformation 部署应用程序,输出工件是堆栈创建输出

http://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#action-requirements

关于amazon-web-services - 将 AWS 信息从 CloudFormation 导入到 CodeBuild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44295491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com