iT邦幫忙

2023 iThome 鐵人賽

DAY 28
0

今天要開始建立CodePipeline,
首先搜尋CodePipeline並進入CodePipeline頁面。
https://ithelp.ithome.com.tw/upload/images/20231013/20152618qDDsVtv6Op.jpg

點選建立管道
https://ithelp.ithome.com.tw/upload/images/20231013/201526185nWOlMXHKc.jpg

名稱自己開心就好,
服務腳色的部分可以讓AWS自動生成。
https://ithelp.ithome.com.tw/upload/images/20231013/20152618AckEuzjqvZ.jpg

來源的部分,選取CodeCommit,
儲存庫名稱選擇之前建立的那個。
分支使用master就好。
變更偵測選項使用CloudWatch Events,AWS會自動幫你生成一個CloudWatch EventBridge的規則,每當偵測到來源階段有變更時,就會觸發這支CodePipeline。
輸出成品的部分,因為這次沒有要使用到Git的資料,所以使用預設值就好。
https://ithelp.ithome.com.tw/upload/images/20231013/20152618UBRlKHnLFQ.jpg

建置階段選用CodeBuild。
區域選擇東京。
專案名稱選擇前幾天建的那個。
接下來環境變數的部分,名稱請輸入ECR,
值的部分則使用ECR的URI。
這個環境變數是會取代昨天buildspec中的$ECR。
之所以會這樣設計,一個是可以讓我們的buildspec檔案可以更加彈性,可以對應到不同的ECR。
https://ithelp.ithome.com.tw/upload/images/20231013/201526180LkrjlsOdr.jpg

接著跳過部署階段後,建立CodePipeline。
建好之後他應該會開始執行。
然後你會發現執行失敗!
原因有兩個,一個是找不到BuildSpec檔案,
第二個是CodeBuild的權限不足。
針對找不到BuildSpec檔案,我們要回到CodeBuild頁面,點選編輯BuildSpec。
https://ithelp.ithome.com.tw/upload/images/20231013/20152618oqfLzZR7BU.jpg

在Buildspec名稱的部分改為

ECSDemo/codebuild/buildspec_ecsdemo.yml

進行儲存。

針對CodeBuild的權限不足,則要點選CodeBuild的建置詳細資訊
到下方有一個服務角色,點進去會進到IAM頁面
https://ithelp.ithome.com.tw/upload/images/20231013/20152618ipzBWkTJFV.jpg
https://ithelp.ithome.com.tw/upload/images/20231013/20152618ZoEQGyUAod.jpg

在角色的部分搜尋你的CodeBuild服務角色,並點選進入
https://ithelp.ithome.com.tw/upload/images/20231013/20152618Emk4JzIjqW.jpg

接著新增許可,連接政策,並加入AdministratorAccess後新增許可。
如果不想開這麼大的權限,可以參考官方文件建議,這邊只是配合我們在本地設定的權限。
https://ithelp.ithome.com.tw/upload/images/20231013/20152618WtuWjHEVFI.jpg

我們的CodePipeline就完成一半了,
明天要加入ECS所需要的組態檔,並串好整個CodePipeline


上一篇
D27_BuildSpec檔案
下一篇
D29_CodePipeline_ECS藍綠
系列文
從0開始的AWS ECS CICD30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言