AWS Amplify 控制台部署到不同的账户

byg*_*ace 5 aws-amplify

我有 4 个相关的 AWS 账户(服务、开发、QA、产品)。我希望服务包含 CI/CD 管道并部署到环境特定帐户。我在每个环境帐户中设置了一个 IAM 用户以用于部署。使用 AWS Amplify CLI,我可以为每个环境设置不同的配置文件,以便我可以部署到不同的账户。

这很好用,但我想使用 Amplify 控制台作为我的 CI/CD 管道。它能够为不同的分支机构设置不同的管道,并且能够将前端部署到不同的账户,但需要一个角色来部署后端。我找不到设置它的方法,以便它可以将后端部署到不同的帐户,但我对它很陌生。

现在,我将使用另一个 CI/CD 解决方案并调用 Amplify CLI 或在每个环境帐户中设置 Amplify 管道。

有没有办法设置 Amplify 控制台,以便我可以将应用程序后端部署到不同的帐户?

r.p*_*osa 5

2019 年 11 月 19 日更新

使用类似的东西

 - echo -e "[default]\nregion={our-region}" > ~/.aws/config
 - amplifyPush --simple
Run Code Online (Sandbox Code Playgroud)

amplify.yml 的后端阶段似乎可以操纵 Amplify CLI 使用的 aws 配置文件并最终部署到不同的 AWS 帐户。至少通过这种方式,我能够按照以下说明使用 Amplify Console 和 AWS CodeCommit 的单个实例在不同区域部署 2 个不同的环境:

# Set a different region Amplify CLI 
- if [ "${AWS_BRANCH}" != "master" ]; then echo -e "[default]\nregion=${DEV_REGION}" > ~/.aws/config; fi
- '# Execute Amplify CLI with the helper script'
- amplifyPush --simple
Run Code Online (Sandbox Code Playgroud)

归功于这篇文章


似乎不可能,并且有一个开放的拉取请求寻求支持

但是,您可以在每个 AWS 账户中设置 Amplify 控制台并根据分支触发独立部署:

  • 开发分支 -> 开发 AWS 账户;
  • 主分支 -> 生产帐户;

等等。

您可以通过“将构建设置保存在存储库中 - 下载 amplify.yml 文件并将其添加到存储库的根目录(或 monorepos 的应用程序文件夹的根目录)。 ”以相同的方式设置 Amplify 控制台。

最后,如果您(或其他人)使用 AWS CodeCommit 作为版本控制系统,则不需要复制,但需要跨账户访问配置。

  • 感谢您的详细回复。最后,我按照您的说明在每个环境中设置了 Amplify 控制台。 (2认同)