如何使用嵌套堆栈将cloudformation与github同步?

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

我在cloudformation中有git同步来触发我的嵌套堆栈,从而触发其他cloudformation模板。

但是模板 URL 适用于 s3。

是否有一种方便的方法可以单独从 github 构建嵌套堆栈,而无需任何 cp 模板到存储桶或其他奇怪的解决方法?

amazon-web-services aws-cloudformation
1个回答
0
投票

您可以使用 GitHub Actions 自动化 CloudFormation 堆栈的部署过程。每当您的存储库发生更改时,GitHub 操作就会触发,然后它可以将 CloudFormation 模板上传到 S3 存储桶。

步骤:

设置 GitHub Action 来监视存储库的更改(例如,根据推送或拉取请求)。 该操作会将 CloudFormation 模板打包或复制到 S3 存储桶。 然后,在操作中使用 AWS CLI 通过 S3 URL 部署 CloudFormation 堆栈。 GitHub 操作示例:

yaml 复制代码 名称:部署 CloudFormation Stack

在: 推: 分支机构: - 主要

工作: 部署: 运行:ubuntu-latest 步骤: - 名称:签出存储库 使用:actions/checkout@v2

  - name: Set up AWS CLI
    uses: aws-actions/configure-aws-credentials@v1
    with:
      aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
      aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
      aws-region: us-east-1

  - name: Upload CloudFormation templates to S3
    run: |
      aws s3 cp ./template1.yaml s3://your-bucket-name/templates/template1.yaml
      aws s3 cp ./template2.yaml s3://your-bucket-name/templates/template2.yaml

  - name: Deploy CloudFormation Stack
    run: |
      aws cloudformation create-stack \
        --stack-name my-stack \
        --template-url https://s3.amazonaws.com/your-bucket-name/templates/template1.yaml \
        --capabilities CAPABILITY_NAMED_IAM
© www.soinside.com 2019 - 2024. All rights reserved.