如何使用Cloudformation,在不同环境中进行Chalice部署?

0

【以下的问题经过翻译处理】 在使用AWS Pipelines构建的Chalice Lambda中,我应该如何(最好地)为每个我们的AWS Organizations账户(dev vs qa vs prod)配置和部署不同的系统环境变量?

例如:我需要运行chalice package --stage 3次并创建3个不同的构件吗(有些低效)?

buildspec.yaml

version: 0.2
phases:
  install:
    runtime-versions:
      python: 3.8
    commands:
      - pip3 install --upgrade pip
      - pip3 install --upgrade awscli
      - aws --version
      - pip3 install chalice
      - pip3 install -r requirements.txt
      - chalice package /tmp/packaged
      - aws cloudformation package --template-file /tmp/packaged/sam.json --s3-bucket ${APP_S3_BUCKET} --output-template-file transformed.yaml
artifacts:
  type: zip
  files:
    - transformed.yaml

config.json: { "version": "2.0", "app_name": "budderfly-ke2portal", "iam_policy_file": "policy.json", "autogen_policy": false, "stages": { "dev": { "api_gateway_stage": "api", "IOT_DATA_ENDPOINT": "https://dev-ats.iot.us-west-2.amazonaws.com" }, "qa": { "api_gateway_stage": "api", "IOT_DATA_ENDPOINT": "https://qa-ats.iot.us-west-2.amazonaws.com" }, "prod": { "api_gateway_stage": "api", "IOT_DATA_ENDPOINT": "https://prod-ats.iot.us-west-2.amazonaws.com" } } }

profile picture
专家
已提问 5 个月前35 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

为了为不同环境创建3种不同的构建成果/包,需要运行chalice包命令3次。可以通过添加不同的命令然后将构建成果输出为次要成果来在同一个构建中完成此操作。此外,这些命令也可以在管道中分别运行,在3个不同的构建阶段中完成。在此处查看输出多个构件的示例。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则