繁体   English   中英

跨多个 AWS 账户构建 nodejs 应用程序

[英]Building a nodejs app across multiple AWS accounts

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

我在账户 A (Dev)中有一个存储库,它托管一个 nodejs 应用程序我希望能够在账户 B中创建一个管道,从账户 A 中的存储库中检出代码 最后当管道完成时,它应该部署构建的/将 nodejs 应用编译到账户 C (QA) 和 D (Prod)

我的问题不在于如何构建 nodejs 应用程序,而是如何允许账户 B 中的代码管道检出账户 A 中的存储库,并最终将构建的应用程序部署到登台和生产。

我的想法来自阅读:

  1. 为账户 A 中的管道创建 IAM 角色,允许签出代码提交存储库
  2. 让账户 B 中的管道以某种方式承担账户 A 的角色

我仍然不清楚如何去做。 我刚开始接触 aws

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

可以使用基于一个中央代码提交存储库的存储库中的分支,从另一个AWS账户中的一个中央代码提交存储库中构建和触发多个代码管道。 您需要确保交叉帐户IAM角色到位,事件总线需要配置为从交叉帐户接收事件,并且还必须具有KMS权限。 这是一篇文章,涵盖了您的确切需求: 带有交叉账户CodeCommit回购的AWS Codepipeline希望它能有所帮助。

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

中央账户管道将包括适当数量的阶段,从而为 AWS 账户 dev、staging 和 prod 生成候选版本。

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

通过这种方式,您可以在每个帐户中创建“部署”管道,这些管道从 S3 开始并在您想到的任何环境中结束。 这些账户的 S3 存储桶可以创建为具有存储桶策略,以仅从您的中央账户接收文件。

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

祝你好运!

AWS 提供了一份带有 源代码的指南,可以做一些与您正在尝试做的事情相近的事情。

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM