iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
DevOps

運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天系列 第 11

【Day 11】設置與調整 AWS Developer Tool - CodeBuild

tags: 鐵人賽 CodeBuild AWS

前言

關於 Developer Tool - CodeCommit

  • 原始碼管理倉庫的一種
  • 老實說,作者個人認為 CodeCommit 不是很好用
    • 對於原始碼倉庫、專案的讀取、存取權限,全仰賴 AWS 的 IAM
    • 因為 AWS 要找機會收錢的緣故,只要超過 5 個 IAM 存取的 Repository 的話,每個 IAM 會被課金一美元⋯⋯
    • 整個 UI 呈現的方式,就是被侷限在 AWS 原有的設計
    • 喜不喜歡是很主觀的,總之作者覺得很坑,所以不考慮使用

關於 Developer Tool - CodeBuild

  • 本日要來著手設置 - CodeBuild
  • 收費服務,新帳號每月免費運行 100 分鐘
  • CodeBuild 屬於 Continuous Integration 服務
  • 它的原理是透過 buildspec.yml 檔案,制定專案在自動化集成時的小任務(Stages),以及這些任務對應運作的指令。

建立第一個 CodeBuild 專案

設定專案名稱以及描述

  • 這邊應該沒什麼需要特別注意的

指定上游原始碼

  • 指定 Source Code 的來源
  • 我指定使用 GitHub 的 Repo 作為原始碼的倉庫,並且以 OAuth 進行授權作業。
  • 授權 AWS CodeBuild 讀取自己 GitHub 帳號所賦予讀取資格的 Repo
  • 針對 Source version 的部分,建議閱讀 官方說明文件
  • 如果有嵌入 Submodules 則需特別注意要額外勾選 Use Git submodules

設定建置流程時所使用的環境

  • 在 CodeBuild 的過程所使用的環境,是類似於 GitLab CI Runner 容器模式
  • 預設有 Amazon Linux 2 或是 Ubuntu 可以選
    • 我選我比較熟的那個 Ubuntu
  • 另外比較重要的一點是要定義整個建置流程的 Timeout 時間上限、以避免因為 Buildspec.yml 中的指令卡住時造成浪費,不小心燒掉太多錢。
  • 另外就是,部分的 AZ 可能因為尚未支援 CodeBuild 功能
  • 已作者所使用的 Osaka 來說,僅有 ap-northeast-3a 有開放此功能,故應將該功能運作在合適的 AZ 中。
  • ap-northeast-3bap-northeast-3c 無法成功建立出 CodeBuild 的環境,會出現下列錯誤

小結

  • 接下來的設定會稍微無聊一些,不過還是要一步一腳印的做完它,明天繼續。

上一篇
【Day 10】EC2 x EIP x 蘿蔔糕實例製作
下一篇
【Day 12】使用 Systems Manager 的 Parameter Store 保存變數
系列文
運用皮毛技術與 AWS 平台、打造雲端蘿蔔服務三十天30

尚未有邦友留言

立即登入留言