簡體   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