AWS CodeBuild 功能
為什麼使用 AWS CodeBuild?
AWS CodeBuild 是全受管持續整合服務。您只需要指定原始程式碼的位置、選擇建置設定,CodeBuild 將會執行建置指令碼來編譯、測試及封裝程式碼。無須佈建和擴展伺服器,也不需安裝、設定和操作軟體。
AWS CodeBuild 是全受管持續整合服務。您只需要指定原始程式碼的位置、選擇建置設定,CodeBuild 將會執行建置指令碼來編譯、測試及封裝程式碼。無須佈建和擴展伺服器,也不需安裝、設定和操作軟體。
CodeBuild 在預先設定的建置環境中執行您的組建,其中包含作業系統、程式設計語言執行時期,以及完成工作所需的建置工具 (如 Apache Maven、Gradle、npm)。您只需指定原始程式碼的位置並選擇組建的設定,像是要使用的建置環境,以及組建期間要執行的建置命令。AWS CodeBuild 建立您的程式碼並將成品存放到 Amazon S3 儲存貯體,或者,您可以使用建置命令將成品上傳到成品資料儲存器。您可以使用 AWS CodePipeline、AWS 管理主控台、AWS CLI 或 SDK,建立、管理及啟動建置專案。
AWS CodeBuild 提供適用於 Java、Python、Node.js、Ruby、Go、Android、.NET Core for Linux 及 Docker 的建置環境。
您可使用自有建置環境與 AWS CodeBuild 搭配使用,例如適用於 Microsoft .NET Framework 的環境。您可以將組建所需的執行時期和工具封裝到 Docker 映像檔,然後將它上傳到公有 Docker Hub 資料儲存器或 Amazon Elastic Container Registry (Amazon ECR)。建立新的建置專案時,您可指定 Docker 影像的位置,CodeBuild 將會提取影像並使用它做為建置專案組態。
您可以定義想要 CodeBuild 執行的特定命令,像是安裝建置工具套件、執行單元測試,以及封裝程式碼。建置規格是 YAML 檔案,可讓您選擇在每個建置階段執行的命令及其他設定。CodeBuild 提供適用於常見案例的範例建置規格檔案以協助您快速上手,包括使用 Apache Maven、Gradle 或 npm 的組建。
請參閱建置規格範例檔案
您可以選擇最適合自己開發需求的運算類型。您可選擇三種不同層級的運算容量,每個層級都有不同的 CPU 和記憶體數量。如果您想要更快完成組建,或者您的組建需要最低層級的 CPU 和記憶體才能完成時,可選擇較高的 CPU 和記憶體運算。 CodeBuild 支援 Linux 和 Windows 作業系統。
有數種方式可使用 CodeBuild 啟動組建。例如,您可以在連接到 AWS CodeCommit、GitHub、GitHub Enterprise、Bitbucket 或 Amazon Simple Storage Service (Amazon S3) 之後,在 CodeBuild 中啟動組建。您也可以利用 AWS CodePipeline 連接 CodeBuild 與原始碼儲存庫,如此一來,只要遞交變更就會自動啟動組建。
CodeBuild 中的隨需運算資源和依用量計費定價,能讓您更頻繁地建立及整合程式碼、協助您在較易於修正的開發程式早期找出和修正錯誤。您可使用 CodeBuild 的原始碼整合、建置命令或 Jenkins 整合,將它整合到現有的持續整合和持續交付 (CI/CD) 工作流程。同時,CodeBuild 也屬於 AWS Code 服務系列,可協助您實踐 CI/CD。您可將 CodeBuild 外掛到 CodePipeline,這樣只要您將變更遞交到原始碼資料儲存器,就能在 CodeBuild 自動建立及測試程式碼。您可使用 CodePipeline 精靈連接到原始碼資料儲存器,然後選取 CodeBuild 做為建置提供者,就能建立此 CI 工作流程。
使用 CodePipeline 可輕易地將持續整合工作流程延伸到持續交付,方法是整合第三方的載入或使用者界面測試工具 (例如 BlazeMeter 或 Ghost Inspector),當 CodeBuild 完成組建之後,這些工具就會啟動。然後使用與 CodePipeline 整合的服務,像是 AWS CodeDeploy 和 AWS Elastic Beanstalk,即可部署到執行個體或內部部署伺服器。
您的組建成品使用 AWS Key Management Service (AWS KMS) 管理的客戶特定金鑰進行加密。CodeBuild 已與 AWS Identity and Access Management 整合,因此您可以精密的控制哪些使用者和 AWS 資源能夠存取您的組建。
您可以使用 CodeBuild 主控台、AWS Command Line Interface (AWS CLI)、SDK 和 API,或 Amazon CloudWatch 來查看組建的詳細資訊。CodeBuild 會顯示組建開始時間、結束時間、狀態和遞交 ID 等資訊。CodeBuild 還會將組建指標和日誌串流到 CloudWatch。您可以使用 CloudWatch 建立自訂儀表板、設定 Amazon CloudWatch 警示、解決組建問題,或查看組建日誌。
您可以針對影響您建立專案的事件來建立通知。通知會以 Amazon Simple Notification Service (Amazon SNS) 通知的形式傳送。每則通知會包括一則狀態訊息以及一條前往資源的連結,此通知由該資源的的事件生成。