我有4个相关的AWS账户(服务,开发,质量检查,产品)。我希望服务包含CI / CD管道并部署到特定于环境的帐户。我在每个环境帐户中设置一个IAM用户以用于部署。使用AWS Amplify CLI,我可以为每个环境设置不同的配置文件,以便可以部署到不同的帐户。
这很好用,但是我想将Amplify Console用作CI / CD管道。它能够为不同的分支机构设置不同的管道,并且能够将前端部署到不同的帐户,但是需要角色来部署后端。我找不到设置它的方法,以便它可以将后端部署到其他帐户,但是我对此还很陌生。
现在,我将使用另一个CI / CD解决方案并调用Amplify CLI或在每个环境帐户中设置Amplify管道。
是否可以设置Amplify Console,以便将应用程序后端部署到其他帐户?
答案 0 :(得分:2)
于19/11/2019更新:
使用类似
- echo -e "[default]\nregion={our-region}" > ~/.aws/config
- amplifyPush --simple
backend phase of 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
此post
的积分此doesn't seem possible,还有一个open pull request looking for support。
但是,您可以在每个AWS账户中设置Amplify控制台并基于分支触发独立部署:
,依此类推。
您可以通过“ Save the build settings in your repository - Download the amplify.yml file and add it to the root of your repository (or root of the app folder for monorepos).”以相同的方式保持Amplify控制台的设置。
最后,如果您(或其他人)使用AWS CodeCommit作为版本控制系统,则不需要复制,但是需要Cross-Account Access configuration。