搭配 Git 使用 EB CLI - AWS Elastic Beanstalk

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

搭配 Git 使用 EB CLI

EB CLI 可與 Git 整合。本章節將概要說明如何搭配 EB CLI 使用 Git。

欲安裝 Git 並初始化您的 Git 儲存庫
  1. 造訪 http://git-scm.com 下載 Git 的最新版本。

  2. 輸入下列資訊藉此初始化您的 Git 儲存庫:

    ~/eb$ git init

    EB CLI 現將得知您的應用程式已設定 Git。

  3. 若您尚未執行 eb init,請現在執行:

    ~/eb$ eb init

將 Elastic Beanstalk 環境與 Git 分支建立關聯

您可將不同的環境與程式碼的每個分支建立關聯。切換分支時,變更會部署至關聯的環境。例如,您可輸入下列內容,將您的生產環境與主線分支建立關聯,並將不同的開發環境與您的開發分支建立關聯:

~/eb$ git checkout mainline ~/eb$ eb use prod ~/eb$ git checkout develop ~/eb$ eb use dev

部署變更

EB CLI 預設會使用遞交 ID 和訊息分別當做應用程式版本標籤及描述,部署目前分支的最新遞交內容。若您希望在不遞交的情況下即可向環境部署,可使用 --staged 選向來部署已新增至暫存區的變更。

欲在不遞交的情況下部署變更
  1. 將新檔案和已變更檔案新增至暫存區:

    ~/eb$ git add .
  2. 透過 eb deploy 部署暫存變更:

    ~/eb$ eb deploy --staged

若您已將 EB CLI 設定為部署成品,而且您不要將成品遞交至 Git 儲存庫,請使用 --staged 選項來部署最新的建置。

使用 Git 子模組

部分程式碼專案受益於 Git 子模組,此為位於最上層儲存庫的儲存庫。當您使用 eb createeb deploy 來部署程式碼,EB CLI 可將子模組納入應用程式版本 zip 檔,並將其與剩餘的程式碼一同上傳。

您可於專案資料夾內的 EB CLI 組態檔案 include_git_submodules,透過 global 區段的 .elasticbeanstalk/config.yml 選項,藉此控制子模組的納入情形。

欲納入子模組,請將此選項設定為 true

global: include_git_submodules: true

缺少 include_git_submodules 選項或此選項設定為 false 時,EB CLI 不會將子模組納入上傳的 zip 檔。

如需 Git 子模組的詳細資訊,請參閱 Git Tools - 子模組

預設行為

執行 eb init 來設定您的專案時,EB CLI 會新增 include_git_submodules 選項並將其設定為 true。此能確保您專案的子模組都納入部署作業中。

EB CLI 不一定會支援納入子模組。在新增子模組支援前,為了避免已有專案出現意外或不想要的變更,若缺少 include_git_submodules 選項則 EB CLI 不會納入子模組。若您希望在其中一個現有專案的部署作業納入子模組,請如本章節所述,新增此選項並將其設定為 true

CodeCommit 行為

Elastic Beanstalk 與 CodeCommit 的整合目前不支援子模組。若您啟用環境與 CodeCommit 的整合,子模組不會納入您的部署。

將 Git 標籤指派至您的應用程式版本

您可使用 Git 標籤做為版本標籤,藉此辨識您環境正執行的應用程式版本。例如,請輸入下列內容:

~/eb$ git tag -a v1.0 -m "My version 1.0"