0

我正在尝试从控制台更新 CloudFormation 嵌套堆栈上的自定义参数。它已更新,但在代码部署后,它会获得默认值。我想在部署后保存上次更新的值。我在 buildspec.yml 上使用 bash 脚本作为构建命令。如果有堆栈,它可以工作,但不适用于堆栈+嵌套堆栈。有人对此有任何想法吗?我想使用它来从控制台更新参数而不进行代码部署,如果没有更改,则将其保存以供进一步使用。

安慰

发布.sh

mkdir -p build

# SAM Package
aws cloudformation package --template template-build.yml --s3-bucket ${DEPLOYMENT_BUCKET} --output-template build/template.yml --debug

# SAM Deploy
aws cloudformation deploy --template-file build/template.yml --stack-name ${STACK_NAME} --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND --role-arn ${ROLE_ARN} \
        --s3-bucket $DEPLOYMENT_BUCKET \
        --parameter-overrides \
        DeploymentBucketName=${DEPLOYMENT_BUCKET} \
        NodeModulesZipFileName=${packageJsonHash}.zip

构建规范.yml

version: 0.2
phases:
  install:
    runtime-versions:
      python: 3.7
      nodejs: 10
    commands:
      - yum install python3-pip -y
      - whereis pip
      - pip3 install aws-sam-cli --upgrade --user
      - pip3 install awscli --upgrade --user
  pre_build:
    commands:
      - mkdir -p build/
  build:
    commands:
      - echo Build started on `date`
      - npm install --only=prod
      - chmod +x publish.sh
      - bash publish.sh
  post_build:
    commands:
      - echo "no post build needed..."
artifacts:
  type: zip
  files:
    - build/template.yml

4

0 回答 0