如何使用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
エキスパート
質問済み 6ヶ月前39ビュー
1回答
0

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

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

profile picture
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン