跨多个AWS账户构建nodejs应用

时间:2018-04-09 13:31:12

标签: amazon-web-services amazon-cloudformation amazon-iam aws-codepipeline

好的,我有确切的构建脚本来构建我的nodejs应用程序。 我们的想法是设置一个CI / CD管道,它将在不同的aws帐户(如DEV,STAGING和PROD)上构建我们的应用程序。

我在 帐户A(开发) 中拥有一个repo,用于托管nodejs app 我希望能够在 帐户B 中创建一个管道,用于在 帐户A 中检出repo中的代码 最后,当管道完成时,它应该将构建/编译的nodejs应用程序部署到 帐户C(QA)和D(产品)

我的问题不是如何构建nodejs应用程序,而是如何允许帐户B中的codepipeline签出帐户A中的repo,最后将构建的应用程序部署到staging和prod。

我的阅读理念:

  1. 为帐户A中允许的管道创建IAM角色 checkout codecommit repos
  2. 让帐户B中的管道以某种方式承担帐户A中的角色
  3. 我还不清楚如何去做这件事;我刚刚进入aws

    如果我遇到一个解决方案,我会更新这篇文章,但也许​​有人有教程或者可以指向我的文档或列出这里的步骤或示例

2 个答案:

答案 0 :(得分:0)

根据我的理解,不可能使用codepipeline构建跨账户管道。您需要做的是首先在您的中央帐户中构建管道。

中央帐户管道将包括适当数量的阶段,这些阶段会导致AWS账户开发,分段和产品的候选发布。

当您进入不同的帐户阶段时,您应该将工件推送到相关帐户中的S3存储桶。而这些S3存储桶应该是这些帐户的代码管道的来源。

这样你就可以创建"部署"每个帐户中的管道,从S3开始,到您想到的任何环境结束。可以创建这些帐户的S3存储桶,以使存储桶策略仅接收来自中央帐户的文件。

这当然不太理想,但它是我如何解决这个问题的。构建一个帐户并交付到其他帐户中的部署管道。如果有人知道更好的解决方案,我很乐意听到。

祝你好运!

答案 1 :(得分:0)

AWS向a guide提供source,其中包含与您尝试的内容相近的内容。

它应该让您足够接近,并涵盖帐户承担角色以在另一个帐户中签出您的回购所需的权限。

enter image description here