本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 Git 使用 EB CLI
EB CLI 可與 Git 整合。本章節將概要說明如何搭配 EB CLI 使用 Git。
欲安裝 Git 並初始化您的 Git 儲存庫
-
造訪 http://git-scm.com
下載 Git 的最新版本。 -
輸入下列資訊藉此初始化您的 Git 儲存庫:
~/eb$
git init
EB CLI 現將得知您的應用程式已設定 Git。
-
若您尚未執行 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
選向來部署已新增至暫存區的變更。
欲在不遞交的情況下部署變更
-
將新檔案和已變更檔案新增至暫存區:
~/eb$
git add .
-
透過 eb deploy 部署暫存變更:
~/eb$
eb deploy --staged
若您已將 EB CLI 設定為部署成品,而且您不要將成品遞交至 Git 儲存庫,請使用 --staged
選項來部署最新的建置。
使用 Git 子模組
部分程式碼專案受益於 Git 子模組,此為位於最上層儲存庫的儲存庫。當您使用 eb create 或 eb 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"