使用 AWS CodeDeploy

在本教學中,您將學習如何在 AWS 將應用程式程式碼部署至虛擬機器。您將使用 AWS CodeDeploy (一項自動將程式碼部署至 AWS 或內部部署伺服器的服務),將程式碼部署至您使用 Amazon EC2 建立並管理的虛擬機器上。 

此教學中的所有操作都可用免費方案資格來進行。

管理您的 AWS 資源

登入主控台

您將需要建立一個金鑰對,以使用 Amazon EC2 存取您的虛擬機器。 若已經有金鑰對,請跳至步驟 2。


a.按一下這裡,即可在新瀏覽器視窗開啟 AWS 管理主控台,讓此逐步指南保持開啟狀態。 按一下建立金鑰對

tmt-codeDeploy-20

(按一下以縮放)

tmt-codeDeploy-20

b. 為您的金鑰對命名。 在本教學中,我們將使用 MyFirstKey。 按一下建立

注意:Amazon EC2 使用公有金鑰密碼術來加密和解密登入資訊。若要進一步了解有關金鑰對的資訊,請參閱 Amazon EC2 金鑰對

tmt-codeDeploy-19

(按一下以縮放)

tmt-codeDeploy-19

a.按一下 AWS 管理主控台左上角的首頁圖示。 在開發人員工具下找到 CodeDeploy,然後按一下以開啟 AWS CodeDeploy 主控台。

tmt-codeDeploy-0

(按一下以縮放)

tmt-codeDeploy-0

b.在 AWS CodeDeploy 主控台中,按一下立即開始。

若已經有應用程式,請查看右欄,然後按一下建立部署演練。

tmt-codeDeploy-1

(按一下以縮放)

tmt-codeDeploy-1

c.選取範例部署,然後按一下下一步

tmt-codeDeploy-2

(按一下以縮放)

tmt-codeDeploy-2

您將需要啟動 AWS 虛擬機器來部署程式碼。 AWS 虛擬機器被稱為 Amazon EC2 執行個體,或簡稱為「執行個體」。在此步驟中,我們將使用預先設定的 EC2 範本啟動三個 EC2 執行個體。

a.按一下 AWS 管理主控台左上角的首頁圖示。 在開發人員工具下找到 CodeDeploy,然後按一下以開啟 AWS CodeDeploy 主控台。

tmt-codeDeploy-0

(按一下以縮放)

tmt-codeDeploy-0

您將使用以下選項來進行執行個體設定:

  • 作業系統:您可以選擇 EC2 執行個體的作業系統。 在本教學中,我們將使用 Amazon Linux。 
  • 執行個體類型:在本教學中,t1.micro執行個體類型已被選取為預設值,保留在免費方案中。Amazon EC2 提供各式各樣的最佳化執行個體類型,以滿足不同的使用案例。執行個體類型由不同的 CPU、記憶體、儲存體和聯網容量組合而成,讓您為應用程式彈性選擇適當的資源組合。 
  • 金鑰對名稱:從下拉式清單中,選擇在步驟 1 中建立的 Amazon EC2 執行個體金鑰對 MyFirstKey,以連線至 Amazon EC2 執行個體。您也可以選擇已經擁有的金鑰對。 
  • 標籤金鑰和值:AWS CodeDeploy 將在部署期間使用此標籤金鑰和值來定位執行個體。您可以保留預設值。

按一下啟動執行個體。

注意:完成此步驟可能需要幾分鐘時間。 等待時可隨時透過以下影片來回顧本教學:

tmt-codeDeploy-4

(按一下以縮放)

tmt-codeDeploy-4

AWS CodeDeploy 在程式碼部署期間使用應用程式名稱,以確保其引用正確的部署元件,例如部署群組、部署組態和應用程式修訂。


a.在應用程式名稱方塊中,輸入 HelloWorld 作為範例應用程式的名稱,然後按一下下一步。

tmt-codeDeploy-5

(按一下以縮放)

tmt-codeDeploy-5

b.檢閱有關您的應用程式修訂的資訊,例如其位置和描述。

注意:您可以選擇下載範例套件。在此檢視中,您可以檢閱有關要部署至 EC2 的應用程式修訂的資訊。應用程式修訂是存檔檔案,其中包含來源內容,例如來源程式碼、網頁、可執行檔案和部署指令碼,以及應用程式規範檔案 (AppSpec 檔案)。AppSpec 檔案可協助 CodeDeploy 將修訂中的來源檔案對應至其目的地,並在部署的各個階段執行指令碼。

按一下下一步

tmt-codeDeploy-7

(按一下以縮放)

tmt-codeDeploy-7

部署群組是 CodeDeploy 部署修訂的個別 EC2 執行個體的集合。部署群組包含個別標記的執行個體,Auto Scaling 群組中的 Amazon EC2 執行個體或兩者。


在部署群組名稱方塊中,保留建議的部署群組名稱 (DemoFleet) 不變。

然後,您將在按 Amazon EC2 標籤搜尋區段中輸入金鑰值對,來指定要部署的 Amazon EC2 執行個體:

  • 金鑰欄應當會用步驟 3 中的值自動填充。
  • 執行個體欄顯示您部署程式碼的目標 EC2 執行個體數目。 在本教學中,我們已經啟動並預先設定了三個 EC2 執行個體,並且這些執行個體已經被一起標記到部署群組中。

選擇下一步。

tmt-codeDeploy-8

(按一下以縮放)

tmt-codeDeploy-8

在此步驟中,您將授予 AWS CodeDeploy 權限,以部署至您的執行個體。當您想要向 Amazon EC2 或 AWS CodeDeploy 等服務授予權限時,您可以為 AWS 服務建立角色。這些服務可以存取 AWS 資源,因此您可以建立角色來確定允許服務使用這些資源執行哪些操作。


服務角色:選擇建立新的服務角色。 若您已經有服務角色,則可以選擇使用現有服務角色

角色名稱:您可以接受 CodeDeploy_HelloWorld 的預設值。 若使用現有服務角色,則從「角色名稱」下拉式清單中選擇該角色。

按一下下一步

tmt-codeDeploy-9

(按一下以縮放)

tmt-codeDeploy-9

在此步驟中,我們將選取部署組態,然後將部署啟動到我們的三個 EC2 執行個體。此步驟結束後,我們將成功部署一個執行中的即時網站,我們可以線上存取該網站。


a.部署組態可讓您確定同時部署應用程式修訂的執行個體數目,並描述部署的成功與失敗條件。 例如,使用預設組態 (「一次一個」),若將應用程式部署至 3 個執行個體,則該組態將一次部署至一個執行個體。

接受預設部署組態,然後按一下下一步。

tmt-codeDeploy-10

(按一下以縮放)

tmt-codeDeploy-10

b.檢閱部署的詳細資訊,然後按一下立即部署。

注意:完成此步驟可能需要幾分鐘時間。

tmt-codeDeploy-11

(按一下以縮放)

tmt-codeDeploy-11

c. 我們的範例修訂將單一網頁部署至每個執行個體。完成所有三個執行個體後,按一下檢視所有執行個體。

tmt-codeDeploy-14

(按一下以縮放)

tmt-codeDeploy-14

d. 按一下部署所在的其中一個執行個體的執行個體 ID。這將讓您進入 EC2 儀表板,您可以在其中檢視啟動的執行個體。

tmt-codeDeploy-15

(按一下以縮放)

tmt-codeDeploy-15

e.若要驗證範例應用程式是否已成功部署,請在底部面板的公有 DNS 欄位中複製地址,然後將該地址貼至瀏覽器中,您會看到即時網頁。

tmt-codeDeploy-21

(按一下以縮放)

tmt-codeDeploy-21

為避免將來產生費用,您必須清除本教學中使用的資源。在本教學中啟動的 EC2 執行個體會繼續執行,除非您將其終止。


a.在 EC2 主控台中,搜尋欄會自動填充執行個體 ID 搜尋篩選器。 刪除此篩選器,您會看到 CodeDeploy 啟動的所有執行個體。 

tmt-codeDeploy-16a

(按一下以縮放)

tmt-codeDeploy-16a

b.選中每個 Amazon EC2 執行個體的方塊以終止。選取「動作」、「執行個體狀態」,然後按一下終止

提示時,按一下是,終止

tmt-codeDeploy-18a

(按一下以縮放)

tmt-codeDeploy-18a

您已經使用 AWS CodeDeploy 成功建立首個程式碼並部署至 Amazon EC2 執行個體。使用提供的範本,首先啟動三個執行個體,這些執行個體已預先設定正確的標籤,並安裝了必要的代理程式,以便使用 AWS CodeDeploy。最後,準備了要部署的應用程式,授予 CodeDeploy 許可以部署至您的執行個體,然後成功地部署了程式碼。

現在,您已經完成使用 AWS CodeDeploy 將程式碼部署至 Amazon EC2 執行個體的範例部署,您可以開始學習如何在自己的應用程式中使用 CodeDeploy。請瀏覽 CodeDeploy 文件,了解如何啟動 EC2 執行個體,然後設定執行個體,以便 CodeDeploy 將程式碼部署至該執行個體。在我們的教學中,我們簡化了這些組態設定步驟,以協助您學習和體驗 CodeDeploy 的工作方式。

了解如何設定 AWS CodeDeploy 執行個體