使用 AWS CloudFormation 將 Bitbucket 儲存庫與 AWS Amplify 整合 - AWS Prescriptive Guidance

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS CloudFormation 將 Bitbucket 儲存庫與 AWS Amplify 整合

由阿爾文·亞伯拉罕 (AWS) 創建

環境:生產

技術:DevOps 作業

AWS 服務:AWS Amplify;AWS CloudFormation

Summary

AWS Amplify 可協助您快速部署和測試靜態網站,而無需設定通常需要的基礎設施。如果您的組織想要使用 Bitbucket 進行原始碼控制 (不論是移轉現有的應用程式程式碼或建置新的應用程式),您可以部署此模式的方法。透過使用 AWS CloudFormation 自動設定 Amplify 功能,您可以看到所使用的組態。

此模式描述如何使用 AWS CloudFormation 將 Bitbucket 儲存庫與 AWS Amplify 整合,建立前端持續整合和持續部署 (CI/CD) 管道和部署環境。模式的方法意味著您可以為可重複的部署建置 Amplify 前端管線。

先決條件和限制

先決條件 

  • 有效的 Amazon Web Services (AWS) 帳戶

  • 具有管理員存取權的使用中 Bitbucket 帳戶

  • 存取使用cURLPostman應用程式

  • 熟悉 Amplify

  • 熟悉 AWS CloudFormation

  • 熟悉 YAML 格式化的檔案

Architecture

技術堆疊

  • Amplify

  • AWS CloudFormation

  • Bitbucket

Tools

  • AWS Amplify— Amplify 可幫助開發人員開發和部署雲端驅動的行動應用程式和 Web 應用程式

  • AWS CloudFormation— AWS CloudFormation 是一個能幫助您模型化與設定 AWS 資源的服務,讓您能花較少的時間管理這些資源,並且有更多時間專注在 AWS 中執行的應用程式上。

  • Bitbucket— Bitbucket 是專為專業團隊設計的 Git 儲存庫管理解決方案。它提供了一個集中的位置來管理 Git 儲存庫、在原始程式碼上協同合作,並引導您完成開發流程。

Code

所以此bitbucket-amplify.yml檔案 (附加) 包含此模式的 AWS CloudFormation 格式範本。

Epics

任務描述所需技能
(選擇性) 建立 Bitbucket 儲存庫。
  1. 登入您的 Bitbucket 帳戶,並建立新的儲存庫。如需此項目的詳細資訊,請參閱建立 Git 儲存庫在 Bitbucket 文檔中。 

  2. 記錄工作區的名稱。

請注意:您也可以使用現有 Bitbucket 儲存庫。

裝置工程師
開啟工作區設定。
  1. 開啟工作區,然後選擇儲存庫標籤。

  2. 選擇您要與 Amplify 整合的儲存庫。

  3. 選擇儲存區域名稱上方的工作區名稱。

  4. 在側邊欄上,選擇設定

裝置工程師
創建一個 OAuth 消費者。
  1. 在 中應用程式與功能區段中,選擇OAuth 取用者,,然後選擇新增消費者。

  2. 輸入您的取用者名稱,例如Amplify Integration

  3. 輸入回呼 URL。雖然此欄位是必要的輸入,但不會用來完成整合,因此值可能是http://localhost:3000

  4. 勾選此方塊這是一個私人消費者

  5. 選擇以下許可:

    • 專案 Read

    • 儲存庫 Admin

    • 提取請求 Read

    • Webhook ReadWrite

  6. 保留所有其他欄位的預設選擇,然後選擇提交

  7. 記錄所產生的金鑰和密碼。

裝置工程師
獲取 OAuth 訪問令牌。
  1. 開啟終端機視窗並執行下列命令: 

curl -X POST -u "KEY:SECRET" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials 

重要:ReplaceKEYSECRET與您先前記錄的密鑰和秘密。 

2. 記錄存取權杖,而不使用引號。權杖僅在有限的時間內有效,預設時間為兩小時。您必須在此時間範圍內執行 AWS CloudFormation 格式範本。

裝置工程師
任務描述所需技能
下載 AWS CloudFormation 範本。

下載bitbucket-amplify.ymlAWS CloudFormation 範本 (已附加)。除了「Amplify」專案和分支之外,此範本還會在「Amplify」中建立 CI/CD 管線。

建立和部署 AWS CloudFormation 堆疊。
  1. 登入 AWS CloudFormation 主控台,然後開啟 AWS CloudFormation 主控台。 

  2. 選擇建立堆疊 (使用新資源),然後選擇上傳範本檔案。 

  3. 上傳 bitbucket-amplify.yml 檔案。

  4. 選擇下一頁,輸入堆疊名稱,然後輸入下列參數:

    • 存取字符:貼上您先前所建立的 OAuth 存取 Token。

    • Repository URL (儲存庫 URL):添加比特桶項目存儲庫的 URL。URL 通常格式如下:https://bitbucket.org/<WORKSPACE_NAME>/<REPO_NAME>

    • 分支名稱:這必須符合 Bitbucket 儲存庫中的分支名稱。當您執行 AWS CloudFormation 堆疊時,不需要存在此分支,但是將程式碼部署到環境中需要這個分支。

    • Project name (專案名稱):這是要與 Amplify 專案關聯的名稱。

5. 選擇下一頁,然後選擇建立堆疊

裝置工程師
任務描述所需技能
將程式碼部署到儲存庫中的分支。
  1. 通過運行以下命令克隆您的 Bitbucket 存儲庫:git clone https://bitbucket.org/<WORKSPACE_NAME>/<REPO_NAME>

  2. 查看執行 AWS CloudFormation 指令碼時所使用的分支名稱。要創建並簽出一個新的分支,請運行git checkout -b <BRANCH_NAME>命令。要簽出現有的分支,請運行git checkout <BRANCH_NAME>命令

  3. 將代碼提交到分支中,並通過運行git commitgit push命令。

  4. Amplify 然後構建和部署應用程序。

如需此項目的詳細資訊,請參閱基本 Git 命令在 Bitbucket 文檔中。 

應用開發人員

相關資源

身份驗證方法(亞特蘭西文檔)

Attachments

attachment.zip