您好,登錄后才能下訂單哦!
小編給大家分享一下AWS自動部署工具codedeploy如何部署,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
三大部分:要部署的內容 --> 部署的配置 --> 更新的lambda函數版本
部署的流程:上傳修訂的應用程序-->創建一個應用程序-->指定部署組-->指定部署的配置-->指定一個appspec文件-->進行部署-->檢查部署結果-->如果出現問題再根據需要重新部署。
部署前提:
在創建codedeploy部署組時,必須指定包含ECS服務的ECS集群;
codedeploy必須已經啟用ECS服務,默認情況下,ECS部署已啟用ECS服務,當創建部署組時需要選擇部署ECS集群的ECS服務;
在要隨ECS部署一起更新的ECS服務必須使用ELB,可以使用 應用程序負載均衡器 或 Network Load Balancer。官方建議使用 應用程序負載均衡器,以便可以利用動態端口映射和基于路徑的路由和優先級規則等功能。在創建 CodeDeploy 應用程序的部署組時,需要指定負載均衡器;
在創建部署組時,您需要指定一個或兩個偵聽器,偵聽器是負載均衡器將流量定向到目標組的。(如果使用ECS控制臺創建ECS服務,系統創建偵聽器)
一個ECS部署需要2個目標組,一個用于ECS程序的原始任務集,一個用于ECS程序的替換任務集。在部署過程中,codedeploy會創建一個替換的任務集,并將流量替換到新的任務集,在創建部署組時需要指定目標組。(在部署期間,CodeDeploy 會確定哪個目標組與 ECS 服務中狀態為 PRIMARY
(這是原始任務集)的任務集關聯,并將一個目標組與其關聯,然后將另一個目標組與替換任務集關聯。如果執行其他部署,則與當前部署的原始任務集關聯的目標組將與下一個部署的替換任務集關聯)。
需要在 CodeDeploy 應用程序的 AppSpec file中指定任務定義的 ARN(運行包含 ECS 應用程序的 Docker 容器需要任務定義);
需要在codedeploy應用程序的appspec file中指定容器的名稱,appapec file中指定的容器必須是ECS任務定義的之一。(Docker 容器 包含您的軟件應用程序需要運行的所有內容。負載均衡器將流量定向到 Amazon ECS 應用程序任務集中的容器);
在ECS部署期間,負載均衡器會將流量定向到您 CodeDeploy 應用程序的 AppSpec file所指定容器上的端口,需要在 CodeDeploy 應用程序的 AppSpec file中指定端口。
部署組件:要部署的內容 --> 部署的配置 --> ECS的替換任務集
部署工作流程:創建一個ECS部署,并將部署控制器設置為codedeploy--> 創建一個codedeploy應用程序-->創建一個部署組-->指定一個APPspec file-->部署-->檢查部署結果-->出現問題再回到部署環節
部署組件:要部署的內容--> 部署的配置 --> 部署組和縮放組
主要的部署工作流程:創建一個應用程序-->指定部署組-->指定部署的配置-->更新需要部署的內容-->部署-->檢查部署-->出現問題再回到部署環節
步驟詳解:
1.通過指定唯一表示您要部署的應用程序修訂和表示應用程序的計算平臺的名稱來創建應用程序;
2.設置部署組時,要指定部署類型和要部署應用程序修訂的實例。就地部署將使用最新的應用程序修訂更新實例。藍/綠部署向負載均衡器注冊部署組的一組替換實例并取消注冊原始實例、可以指定應用于實例的標簽或 Amazon EC2 Auto Scaling 組名稱、在所有情況下實例必須配置為在部署中使用(即,它們必須已標記或屬于 Amazon EC2 Auto Scaling 組),并且已安裝并運行 CodeDeploy 代理、AWS提供了一個 AWS CloudFormation 模板,您可使用該模板基于 Amazon Linux 或 Windows Server 快速設置 Amazon EC2 實例,還提供了獨立的 CodeDeploy 代理、配置Amazon SNS 通知 — 創建觸發器,以便在部署和實例中發生指定的事件(例如,成功或失敗事件)時,向 Amazon SNS 主題的訂閱者發送通知、基于警報的部署管理 — 實現 Amazon CloudWatch 警報監控,以在指標超出或低于 CloudWatch 中設置的閾值時停止部署、自動部署回滾 — 配置部署,使之在部署失敗或達到警報閾值時自動回滾到已知良好的版本。
3.指定部署配置,以指明多少實例要同時部署應用程序修訂并描述成功和失敗的條件;
4.將應用程序修訂上傳到 Amazon S3 或 GitHub。除了要部署的文件和要在部署期間運行的所有腳本外,您還必須包含application specification file(AppSpec file)。該文件包含部署說明,例如,要將文件復制到的每個實例上的位置,以及運行部署腳本的時間。
5.將應用程序修訂部署到部署組。部署組中每個實例的 CodeDeploy 代理將您的應用程序修訂從 Amazon S3 或 GitHub 復制到該實例。然后,CodeDeploy 代理將取消捆綁修訂,使用 AppSpec file將相應文件復制到指定的位置并執行任何部署腳本。。
6.檢查部署結果
7.重新修訂,重新部署。
注意:以下是開始前需要做的{
您需要先設置實例,然后才能首次部署應用程序修訂。如果一個應用程序修訂需要三個生產服務器和兩個備份服務器,您將啟動或使用五個實例。
要手動預配實例,請執行以下操作:
在實例上安裝 CodeDeploy 代理。CodeDeploy 代理可安裝在 Amazon Linux、Ubuntu Server、RHEL 和 Windows Server 實例上。
如果要使用標簽來標識部署組中的實例,請啟用標記。CodeDeploy 依賴標簽來標識實例并將其分組到 CodeDeploy 部署組。盡管入門教程同時使用了鍵和值,但是您可以只使用鍵或值為部署組定義標簽。
啟動附加有 IAM 實例配置文件的 EC2 實例。IAM 實例配置文件必須附加到啟動的 EC2 實例,以便讓 CodeDeploy 代理驗證該實例的身份。
創建服務角色。提供服務訪問權,以便 CodeDeploy 可以展開您的 AWS 賬戶中的標簽。
對于初始部署,AWS CloudFormation 模板將為您完成所有這些操作。它基于已安裝 CodeDeploy 代理的 Amazon Linux 或 Windows Server 創建并配置單個新 Amazon EC2 實例。
注意
對于藍/綠部署,您可以選擇使用您已有的用于替換環境的實例,或者也可以選擇讓 CodeDeploy 在部署過程中為您預置新實例}
以上是“AWS自動部署工具codedeploy如何部署”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。