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