您好,登錄后才能下訂單哦!
這篇文章給大家介紹jenkins中怎么自動部署更新AWS ECS服務(wù),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
以上是整個部署更新的流程圖:
1.開發(fā)人員對上線的代碼打一個tag,然后把帶tag的代碼推到AWS codecommit上面。
git add -A *
git commit -a -m "${tag}"
git tag "${tag}"
git push origin 分支 ${tag}
2.AWS codecommit觸發(fā)器檢測到分支或標(biāo)簽有新代碼傳入,發(fā)送消息到SNS主題上;
1.創(chuàng)建一個AWS SNS主題:
在創(chuàng)建SNS主題前請確保你已經(jīng)具有訪問SNS主題的權(quán)限,以下為創(chuàng)建SNS主題的詳細(xì)步驟:
1)登陸AWS SNS控制臺;
2)在創(chuàng)建主題部分輸入主題名稱(自定義);
3)選擇**創(chuàng)建主題,**將創(chuàng)建主題并打開主題名稱顯示頁面。
主題的名稱,ARN,(可選)顯示名稱和主題所有者的AWS賬戶ID顯示在“ **詳細(xì)信息”**部分中,
4)上一步中的主題ARN會在codecommit存儲庫創(chuàng)建AWS SNS主題觸發(fā)器中用到。
3.CodeCommit 存儲庫創(chuàng)建 Amazon SNS 主題觸發(fā)器
登陸到AWS 控制臺(當(dāng)然了,也可以通過AWS CLI進(jìn)行添加)
進(jìn)入到codecommit服務(wù)配置中,地址:https://console.aws.amazon.com/codesuite/codecommit/home;
進(jìn)入其中的一個存儲庫,會出現(xiàn)分支及設(shè)置選項(xiàng):
選擇創(chuàng)建觸發(fā)器,進(jìn)行如下操作:
1)在觸發(fā)器名稱中輸入名稱(自定義);
2)在事件中,選擇將觸發(fā) Amazon SNS 主題以發(fā)送通知的存儲庫事件:
如果選擇所有存儲庫事件,則無法選擇任何其他事件。要選擇事件的子集,請刪除 All repository events,然后從列表中選擇一個或多個事件。例如, 如果希望觸發(fā)器只在用戶在 CodeCommit 存儲庫中創(chuàng)建分支或標(biāo)簽時運(yùn)行,請刪除所有存儲庫事件,然后選擇創(chuàng)建分支或標(biāo)記。
3)如果希望觸發(fā)器應(yīng)用于存儲庫的所有分支,請在分支中,將選定內(nèi)容保留為空,因?yàn)榇四J(rèn)選項(xiàng)會自動將觸發(fā)器應(yīng)用于所有分支。如果希望此觸發(fā)器僅 應(yīng)用于特定分支,請從存儲庫分支列表中選擇最多 10 個分支名稱;
4)在選擇要使用的服務(wù)中,選擇 Amazon SNS;
5)在 Amazon SNS 中,從列表中選擇主題名稱或輸入主題的 ARN;
6)在自定義數(shù)據(jù)中,提供包含在 Amazon SNS 主題發(fā)送的通知中的任何信息(例如,開發(fā)人員在討論該存儲庫中的開發(fā)工作時使用的 IRC 通道)。該字 段是一個字符串。它不能用于傳遞任何動態(tài)參數(shù)
7)選擇測試觸發(fā)器。確認(rèn)是否已正確配置 CodeCommit 與 Amazon SNS 主題之間的訪問。它通過 Amazon SNS 主題使用存儲庫中的數(shù)據(jù)(如果可用)發(fā)送測試通知。如果沒有真實(shí)數(shù)據(jù)可用,測試通知將包含示例數(shù)據(jù).
8)選擇創(chuàng)建觸發(fā)器以完成觸發(fā)器的創(chuàng)建操作.
3.SNS主題會把消息訂閱到SQS隊列;
創(chuàng)建一個AWS SQS消息隊列:
1)進(jìn)入 Amazon SQS 控制臺;
2)單擊立即開始使用
4)然后點(diǎn)擊下方的快速創(chuàng)建就創(chuàng)建好了;
5)選擇隊列,訂閱隊列到主題,到此隊列就配置好了。
可以進(jìn)行測試訪問,成功后應(yīng)用保存,退出??梢蕴峤淮a進(jìn)行測試。項(xiàng)目配置如下
以下是構(gòu)建image和把image推送到ECR上
以下是更新ECS服務(wù)的設(shè)置:
關(guān)于jenkins中怎么自動部署更新AWS ECS服務(wù)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。