團隊工作流程與完整堆疊 Amplify 第 1 代應用程式 - AWS Amplify 託管

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

團隊工作流程與完整堆疊 Amplify 第 1 代應用程式

功能分支部署由前端和可選的後端環境組成。前端建置並部署至全球內容傳遞網路 (CDN),而後端則由 Amplify Studio 或 Amplify 增至部署。CLI AWS若要瞭解如何設定此部署案例,請參閱建立應用程式的後端

Amplify 主機可透過功能分支部署持續部署後端資源,例如 GraphQL APIs 和 Lambda 函數。您可以使用以下分支模型通過 Amplify 託管部署後端和前端。

功能分支工作流程

  • 使用 Amplify 工作室或 Amplify 來建立品、測試開發後端環境。CLI

  • prod 後端映射到分支。

  • 測試後端映射到開發分支。

  • 團隊成員可以使用 dev 後端環境來測試個別功能分支。

顯示如何將關係從後端環境映射到前端分支的圖表。
  1. 安裝 Amplify CLI 以初始化新的 Amplify 專案。

    npm install -g @aws-amplify/cli
  2. 為專案初始化「prod」後端環境。如果您沒有項目,請使用 create-react-app 或 Gatsby 等引導工具創建一個項目。

    create-react-app next-unicorn cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: prod ... amplify push
  3. 新增「test」和「dev」後端環境。

    amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: test ... amplify push amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: dev ... amplify push
  4. 將代碼推送到您選擇的 Git 存儲庫(在此示例中,我們將假設您推送到 main)。

    git commit -am 'Added dev, test, and prod environments' git push origin main
  5. 請造訪中的「Amplify」 AWS Management Console 以查看您目前的後端環境。從階層連結導覽上一層,以檢視在「後端環境」索引標籤中建立的所有後端環境清單。

    顯示與 Amplify 應用程式相關聯的後端環境的 Amplify 主控台。
  6. 切換到前端環境選項卡並連接存儲庫提供程序和分支。

  7. 在 [組建設定] 頁面上,選取現有的後端環境以設定主分支的持續部署。從清單中選擇 prod,並將服務角色授與「Amplify」。選擇 Save and deploy (儲存並部署)。構建完成後,您將在 https://main.appid.amplifyapp.com 獲得可用的主要分支部署。

    [設定組建設定] 頁面,其中包含現有後端清單。
  8. 在 Amplify 中 Connect 開發分支(假設開發分支在這一點上是相同的)。選擇「test」後端環境。

    已選取分支和後端環境的「新增儲存庫分支」頁面。
  9. 現在已設定「Amplify」。您可以開始在功能分支中處理新功能。請從本機工作站使用「dev」後端環境來新增後端功能。

    git checkout -b newinternet amplify env checkout dev amplify add api ... amplify push
  10. 功能處理完畢後,請遞交程式碼並建立提取請求,以在內部進行檢閱。

    git commit -am 'Decentralized internet v0.1' git push origin newinternet
  11. 要預覽更改的外觀,請轉到 Amplify 控制台並連接您的功能分支。注意:如果您已經在系統上 AWS CLI 安裝了(不是 AmplifyCLI),則可以直接從終端連接分支。<region><region>您可以通過轉到應用程序設置 > 常規 > 應用程序ARN:arn:awfy:: 放大:: app/ <appid>

    aws amplify create-branch --app-id <appid> --branch-name <branchname> aws amplify start-job --app-id <appid> --branch-name <branchname> --job-type RELEASE
  12. 您可前往 https://newinternet.appid.amplifyapp.com 存取該功能,以與團隊夥伴共享。如果看起來都沒問題,請將 PR 合併至開發分支。

    git checkout develop git merge newinternet git push
  13. 這將啟動一個構建,該構建將在 https://dev.appid.amplifyapp.com 上使用分支部署進行 Amplify 中更新後端以及前端。您可與內部合作夥伴分享此連結,讓他們檢閱新功能。

  14. 從 Git,Amplify 中刪除您的功能分支,並從雲中刪除後端環境(您始終可以通過運行「放大 env 結帳產品」並運行「放大 env 添加」來啟動一個新的環境)。

    git push origin --delete newinternet aws amplify delete-branch --app-id <appid> --branch-name <branchname> amplify env remove dev

GitFlow 工作流

GitFlow 使用兩個分支來記錄專案的歷程。分支僅跟踪發布代碼,並且開發分支用作新功能的集成分支。 GitFlow 通過將新的開發與已完成的工作隔離來簡化並行開發。系統會在「功能」分支中完成新的開發 (例如功能和非緊急錯誤修正)。當開發人員認為程式碼隨時可發佈時,系統就會將該「功能」分支合併回整合「開發」分支。對主分支的唯一提交是來自發布分支和修補程序分支的合併(以修復緊急錯誤)。

下圖顯示建議使用的設定 GitFlow。您可以遵循上述功能分支工作流程一節的相同程序來操作。

顯示建議使用設定的圖表 GitFlow。

每位開發人員的沙盒

  • 團隊中的每位開發人員都應該在與其本機電腦分開的雲端中建立沙盒環境。這使開發人員可以彼此隔離工作,而不會覆蓋其他團隊成員的更改。

  • Amplify 中的每個分支都有自己的後端。這可確保 Amplify 會使用 Git 儲存庫做為單一事實來源來部署變更,而不是仰賴團隊的開發人員從本機電腦手動將後端或前端推送至生產環境。

顯示每個開發人員沙箱工作流程的圖表。
  1. 安裝 Amplify CLI 以初始化新的 Amplify 專案。

    npm install -g @aws-amplify/cli
  2. 為您的項目初始化瑪麗後端環境。如果您沒有項目,請使用 create-react-app 或 Gatsby 等引導工具創建一個項目。

    cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: mary ... amplify push
  3. 將代碼推送到您選擇的 Git 存儲庫(在此示例中,我們將假設您推送到 main.

    git commit -am 'Added mary sandbox' git push origin main
  4. Connect 您的回購 > 主要 Amplify。

  5. 擴大控制台將檢測由 Amplify 創建的後端環境。CLI從下拉式清單中選擇 [建立新環境],並將服務角色授與 Amplify。選擇 Save and deploy (儲存並部署)。構建完成後,您將在 https://main.appid.amplifyapp.com 獲得一個主要分支部署,其中包含鏈接到分支的新後端環境。

  6. 在 Amplify 中 Connect 開分支(假設開發分支在此時相同),然後選擇創建