使用 AWS CodeDeploy

在本教學中,您會學習如何將應用程式程式碼部署至 AWS 上的虛擬機器。您會使用 AWS CodeDeploy 服務,自動將程式碼部署至 AWS 或現場部署伺服器,以及將程式碼部署至使用 Amazon EC2 建立和管理的虛擬機器。 

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

管理您的 AWS 資源

登入主控台

您必須建立金鑰組合,以透過 Amazon EC2 存取虛擬機器。 若您已有金鑰組合,請跳到「步驟 2」。


a. 按一下這裡,即會在新瀏覽器視窗開啟 AWS 管理主控台,即可讓此逐步指南持續保持開啟狀態。 按一下「Create Key Pair (建立金鑰組合)」。

tmt-codeDeploy-20

(按一下以縮放)

tmt-codeDeploy-20

b. 為您的金鑰組合命名。 在本教學中,我們會使用 MyFirstKey 。按一下「Create (建立)」。

注意:Amazon EC2 使用公有金鑰加密來為登入資訊加密和解密。若要進一步了解金鑰組合,請參閱 Amazon EC2 Key Pairs

tmt-codeDeploy-19

(按一下以縮放)

tmt-codeDeploy-19

a. 在「AWS 管理主控台」的左上方,按一下首頁圖示。 在「Developer Tools (開發人員工具)」下尋找 CodeDeploy,然後按一下開啟「AWS CodeDeploy 主控台」。

tmt-codeDeploy-0

(按一下以縮放)

tmt-codeDeploy-0

b. 在「AWS CodeDeploy 主控台」中,按一下「Get Started Now (立即開始使用)」。

若您已有應用程式,請查看右方欄然後按一下「Create Deployment Walkthrough (建立部署逐步解說)」。

tmt-codeDeploy-1

(按一下以縮放)

tmt-codeDeploy-1

c. 選取「Sample Deployment (範例部署)」,然後按一下「Next Step (下一步)」。

tmt-codeDeploy-2

(按一下以縮放)

tmt-codeDeploy-2

您必須啟動 AWS 虛擬機器,以在其中部署程式碼。 AWS 虛擬機器稱為 Amazon EC2 執行個體,或是亦可簡稱為「執行個體」。在此步驟中,我們會使用預先設定的 EC2 範本來啟動三個 EC2 執行個體。


您會使用以下選項來配置執行個體設定:

  • Operating System (作業系統)」:您可選擇 EC2 執行個體的作業系統。 在本教學中,我們會使用 Amazon Linux
  • 執行個體類型」:在本教學中,已選取 t1.micro 執行個體類型做為預設值,以持續保有免費方案資格。Amazon EC2 提供各式各樣的最佳化執行個體類型,以滿足不同的使用案例。執行個體類型由不同的 CPU、記憶體、儲存和聯網容量組合而成,讓您為應用程式靈活選擇適當的資源組合。
  • Key Pair Name (金鑰組合名稱)」:從下拉式清單中,選擇您在步驟 1 中建立的 Amazon EC2 執行個體金鑰組合 MyFirstKey,以連線至 Amazon EC2 執行個體。您也可以選擇現有的金鑰組合。
  • Tag Key and Value (標籤金鑰與數值)」:AWS CodeDeploy 會使用此標籤金鑰和數值,在執行部署期間尋找執行個體。您可以保留預設值。

按一下「Launch Instances (啟動執行個體)」。

注意:完成此步驟需要數分鐘的時間。 在等候期間,您可隨時檢閱本教學和以下影片:

codeDeploy_video
2:10
AWS CodeDeploy 逐步解說
tmt-codeDeploy-4

(按一下以縮放)

tmt-codeDeploy-4

AWS CodeDeploy 在執行程式碼部署期間會使用應用程式名稱,以確認其正在參考正確的部署元件,例如部署群組、部署組態和應用程式修訂版本。


a. 在「Application Name (應用程式名稱)」方塊中,輸入 HelloWorld 做為範例應用程式的名稱,然後按一下「Next Step (下一步)」。

tmt-codeDeploy-5

(按一下以縮放)

tmt-codeDeploy-5

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

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

按一下「Next Step (下一步)」。

tmt-codeDeploy-7

(按一下以縮放)

tmt-codeDeploy-7

部署群組是一組個別的 EC2 執行個體,CodeDeploy 會將修訂版本部署至其中。部署群組包含個別標記的執行個體、Auto Scaling 群組中的 Amazon EC2 執行個體或以上兩者。


在「Deployment Group Name (部署群組名稱)」方塊中,按原樣保留建議的部署群組名稱 (DemoFleet)。

接著您會在「Seach by Amazon EC2 Tags (依 Amazon EC2 標籤搜尋)」區段中輸入金鑰值對,以指定要部署的 Amazon EC2 執行個體:

  • 金鑰」與「數值」欄應會自動填入「步驟 3」中的數值。
  • Instances (執行個體)」欄會顯示將要在其中部署程式碼的 EC2 執行個體數目。 在本教學中,我們已啟動並預先設定三個 EC2 執行個體,而這些執行個體已一併標記至部署群組。

選擇「Next Step (下一步)」。

tmt-codeDeploy-8

(按一下以縮放)

tmt-codeDeploy-8

在此步驟中,您會將 AWS CodeDeploy 許可部署至執行個體。當您想要授與許可給 Amazon EC2 或 AWS CodeDeploy 等服務時,您會建立 AWS 服務的角色。這些服務可存取 AWS 資源,因此您會建立角色來決定允許服務運用這些資源執行的工作。


Service Role (服務角色)」:選擇「Create a new service role (建立新服務角色)」。 若您已有服務角色,則可選擇「Use an existing service role (使用現有的服務角色)」。

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

按一下「Next Step (下一步)」。

tmt-codeDeploy-9

(按一下以縮放)

tmt-codeDeploy-9

在此步驟中,我們會選取部署組態,然後啟動部署至三個 EC2 執行個體。結束此步驟時,我們會成功建立一個可線上瀏覽的即時運作網站。


a. 部署組態可讓您判斷執行個體的數量,以將應用程式修訂版本同時部署至其中,並描述部署作業的成功與失敗狀況。 例如,若您將應用程式部署至 3 個執行個體,則使用預設組態 (「One at a Time (一次一個)」),此組態將會一次部署一個執行個體。

接受「Default Deployment Configuration (預設部署組態)」,然後按一下「Next Step (下一步)」。

tmt-codeDeploy-10

(按一下以縮放)

tmt-codeDeploy-10

b. 檢閱部署的詳細資訊,然後按一下「Deploy Now (立即部署)」。

注意:完成此程序需要數分鐘的時間。

tmt-codeDeploy-11

(按一下以縮放)

tmt-codeDeploy-11

c. 我們的範例修訂版本會將單一網頁部署至每個執行個體。完成所有的三個執行個體後,按一下「View All Instances (檢視所有執行個體)」。

tmt-codeDeploy-14

(按一下以縮放)

tmt-codeDeploy-14

d. 按一下其中一個所部署執行個體的執行個體 ID。這會將您引導至 EC2 儀表板,您可在其中檢視啟動的執行個體。

tmt-codeDeploy-15

(按一下以縮放)

tmt-codeDeploy-15

e. 若要確認是否成功部署範例應用程式,請複製底部面板中「Public DNS (公有 DNS)」欄位中的位址,將該位址貼至瀏覽器,然後您會看見即時網頁。

tmt-codeDeploy-21

(按一下以縮放)

tmt-codeDeploy-21

為了避免日後產生任何費用,您必須清除本教學中使用的資源。除非您將其終止,否則針對本教學啟動的 EC2 執行個體會維持運作。


a. 在 EC2 主控台中,搜尋列會自動填入「Instance ID (執行個體 ID)」的搜尋篩選條件。 刪除此篩選條件,接著您會看見由 CodeDeploy 啟動的所有執行個體。 

tmt-codeDeploy-16a

(按一下以縮放)

tmt-codeDeploy-16a

b. 選取每個要終止之 Amazon EC2 執行個體的方塊。選取「Actions (動作)」、「Instance State (執行個體狀態)」,然後按一下「Terminate (終止)」。

若出現提示,請按一下「Yes, Terminate (是,終止)」。

tmt-codeDeploy-18a

(按一下以縮放)

tmt-codeDeploy-18a

您已順利使用 AWS CodeDeploy,建立並完成針對 Amazon EC2 執行個體的首次程式碼部署作業。您先是使用提供的範本啟動三個執行個體,這些執行個體係使用適當標籤來預先設定,並透過使用 AWS CodeDeploy 所需的必要代理完成安裝。最後,您已準備好用於部署的應用程式、將 CodeDeploy 許可授與執行個體,然後順利部署程式碼。

您現已使用 AWS CodeDeploy 完成針對 Amazon EC2 執行個體的範例部署作業,接下來可開始學習如何在您的專屬應用程式中使用 CodeDeploy。瀏覽 CodeDeploy 文件,學習如何啟動 EC2 執行個體,然後再設定執行個體讓 CodeDeploy 能夠將程式碼部署至其中。我們在教學中會簡化組態步驟,協助您學習並體驗 CodeDeploy 的運作方式。

學習如何設定 AWS CodeDeploy 執行個體