AWS CodeDeploy 是可將應用程式自動部署到各種運算服務的服務,這些運算服務包括 Amazon EC2、AWS Lambda 和在現場部署執行的執行個體。CodeDeploy 可以完全自動化您的應用程式部署,無須手動操作。CodeDeploy 透過輪流更新和部署運作狀態追蹤,保護您的應用程式不會在部署期間停機。CodeDeploy 可讓您透過 AWS 管理主控台、CLI、軟體開發套件或 API 集中控制部署,讓您能夠啟動、控制和監控您的部署。您可查看精細到個別安裝事件的部署進度。CodeDeploy 會追蹤和儲存您最近的部署歷史記錄,因此您可以調查時間軸並變更過去部署的歷史記錄。

開始免費使用 AWS

建立免費帳戶

獲得 12 個月的 AWS 免費方案,同時享受 AWS 的基本支援功能,包括全年無休的客戶服務、支援論壇等等。
查看 AWS 免費方案詳細資訊 »

AWS CodeDeploy 是適用於各種語言的平台,能與任何應用程式搭配使用,因此您可以重複使用現有的安裝程式碼。您也可以使用 CodeDeploy API,輕鬆地將應用程式部署與現有的軟體交付程序或持續交付工具鏈整合。

CodeDeploy_Header

您可以透過 AWS CodeDeploy,在不同執行個體或 AWS Lambda 函數群組之間輕鬆地重複部署應用程式。CodeDeploy 使用以檔案和命令為基礎的安裝模式,因此可以部署任何應用程式和重複使用現有的安裝程式碼。您可以使用相同的安裝程式碼,在 Amazon EC2 執行個體或 Lambda 函數的部署、測試和產品發布階段使用一致的方法部署和測試更新。消除部署中的手動操作可提升軟體交付程序的速度和可靠性。

您可以使用 AWS CodeDeploy 整合軟體部署和擴展活動,讓應用程式在動態生產環境永遠保持最新的狀態。至於 Amazon EC2 執行個體,CodeDeploy 已經與 Auto Scaling 整合在一起。Auto Scaling 可讓您根據定義的條件 (如流量高峰) 擴展 EC2 容量。當有新執行個體啟動到 Auto Scaling 群組時,CodeDeploy 會收到通知,且會在新執行個體新增到 Elastic Load Balancing 負載平衡器之前,在該執行個體上自動執行應用程式部署。至於 AWS Lambda,您的函數會隨著流量的增加或減少自動調整規模,並與 CodeDeploy 整合以確保部署的是最新的程式碼。

您可以使用 AWS CodeDeploy 在執行於任意執行個體上的開發、測試和生產環境自動化軟體部署,這些執行個體包括您自己資料中心的執行個體 (您的執行個體必須能夠連接至 AWS 公有端點)。這可讓您跨混合架構使用單一服務持續地部署應用程式。

使用 AWS CodeDeploy 時,將應用程式更新到新版本時不需要停機。CodeDeploy 可以在一組 Amazon EC2 執行個體間執行輪流更新。執行更新時,一個時間只有一小部分執行個體是離線狀態。CodeDeploy 在執行個體間逐步執行工作,讓應用程式保持可用並繼續提供流量。至於 AWS Lambda 函數,連入流量將逐漸從舊版本路由到新版本。

AWS CodeDeploy 也可執行藍/綠部署,在部署期間會使用最新的修訂版佈建並安裝一組新的 Amazon EC2 執行個體。在新的執行個體上安裝新的修訂版之後,CodeDeploy 會將流量從您的生產執行個體重新路由到新的執行個體。所有 AWS Lambda 更新本身都是藍/綠更新,因為沒有任何需要佈建的新執行個體。

部署運作狀態追蹤與輪流更新一起執行,以保持應用程式在部署期間高度可用。如果部署不佳的更新,可能發生未預期的停機。AWS CodeDeploy 會監控您的部署,如果更新失敗次數太多就會停止部署。

您可以使用 AWS 管理主控台、AWS CLI 或任何 AWS 開發套件,隨時停止執行中的應用程式部署。如果您稍後想繼續進行停止的部署,只需重新部署該修訂版即可。您也可以重新部署之前的修訂版,立即轉返。

您可以直接從 AWS 管理主控台或使用 AWS CLI、軟體開發套件或 API 來啟動、控制和監控軟體的部署。如果發生失敗,您可以準確找出造成失敗的指令碼。您也可以設定推送通知,允許您透過 Amazon Simple Notification Service 以SMS 或電子郵件訊息來監控部署的狀態。

一個應用程式可部署到多個部署群組。部署群組可將組態搭配到特定的環境,例如模擬或生產環境。您可以在模擬環境中測試修訂版,滿意之後再利用相同的部署指令,將相同的程式碼部署到生產環境。

AWS CodeDeploy 會追蹤並儲存部署的最近歷史記錄。您可以檢視各個目標部署群組中目前部署哪些應用程式版本。您可以檢查過去在特定部署群組中進行之部署的變更歷史記錄和成功率。您也可以調查過去部署的時間軸,以詳細查看部署成功和錯誤的情況。

AWS CodeDeploy 使用以檔案和命令為基礎的安裝模式,因此可以部署任何應用程式和重複使用現有的安裝程式碼。CodeDeploy 使用單一 AppSpec 組態檔案來對應應用程式檔案,或者指定 AWS Lambda 函數來進行更新。您可以在每個生命週期事件 (部署階段) 使用 AppSpec 檔案來執行動作、測試或驗證。這些命令可以是任何程式碼 (如 shell 指令碼)、自訂程式,甚至是設定管理工具。

使用 AWS CodeDeploy API 可以輕鬆地整合應用程式部署與您現有的軟體交付工具鏈。AWS CodePipelineAWS CodeStar 和部分 AWS 合作夥伴為持續整合和持續交付服務提供預先建立的 CodeDeploy 整合,以簡化自動部署已更新應用程式的流程。