如何配置CDK以部署到正确的区域?

时间:2020-06-02 20:30:41

标签: amazon-web-services github-actions aws-cdk

我正在尝试使用AWS将一个简单的堆栈部署到CDK。不幸的是,尽管当我通过GitHub动作工作流运行它时,它似乎部署到了错误的区域,但是我无法弄清楚为什么...

我的bin\cdk.js的内容看起来像(示例帐户):

#!/usr/bin/env node

const cdk = require("@aws-cdk/core");
const { CdkStack } = require("../lib/cdk-stack");

const app = new cdk.App();
new CdkStack(app, "CdkStack", { account: "000000000001", region: "eu-west-1" });

根据文档,这对我看来是正确的。据我所知,我在其他任何地方都没有定义任何东西。如果运行cdk bootstrap,将生成CloudFormation。对该区域的唯一引用是:

"environment": "aws://unknown-account/unknown-region",

我在这里错过了完全显而易见的东西吗?我在管道中对其进行配置的方式只是使用:

            - name: CDK Deploy
              env:
                  AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID}}
                  AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY}}
              run: |
                  npm install -g aws-cdk
                  cdk bootstrap
                  cdk deploy --require-approval never

1 个答案:

答案 0 :(得分:3)

您可以在管道配置中将默认区域设置为环境变量:

- name: CDK Deploy
  env:
    AWS_DEFAULT_REGION: eu-west-1
    ...
  run: |
    npm install -g aws-cdk
    cdk bootstrap
    cdk deploy --require-approval never