AWS CodeBuild 是全受管建置服務。您只需要指定原始程式碼的位置、選擇建置設定,CodeBuild 將會執行建置指令碼來編譯、測試及封裝程式碼。無須佈建和擴展伺服器,也不需安裝、設定和操作軟體。

AWS CodeBuild 現在已正式上市

免費試用 AWS CodeBuild

AWS 免費方案包含每月提供使用 AWS CodeBuild 的 build.general1.small 運算類型 100 分鐘組建時間。

查看 AWS 免費方案詳細資訊 »

建置和測試

AWS CodeBuild 在預先設定的建置環境中執行您的組建,其中包含作業系統、程式設計語言執行時間,以及完成工作所需的建置工具 (如 Apache Maven、Gradle、npm)。您只需指定原始程式碼的位置並選擇組建的設定,像是要使用的建置環境,以及組建期間要執行的建置命令。AWS CodeBuild 建立您的程式碼並將成品存放到 Amazon S3 儲存貯體,或者,您可以使用建置命令將成品上傳到成品儲存庫。您可以使用 AWS CodePipeline、AWS 管理主控台、AWS CLI 或軟體開發套件,建立、管理及啟動建置專案。

預先設定的建置環境

AWS CodeBuild 提供適用於 Java、Python、Node.js、Ruby、Go、Android 及 Docker 的建置環境。

這裡查看完整的預先設定建置環境清單。

自訂建置環境

您可帶入自己的建置環境與 AWS CodeBuild 搭配使用。您可以將組建所需的執行時間和工具封裝到 Docker 影像,然後將它上傳到公有 Docker Hub 儲存庫或 Amazon EC2 Container Registry (Amazon ECR)。建立新的建置專案時,您可指定 Docker 影像的位置,CodeBuild 將會提取影像並使用它做為建置專案組態。


可設定的各項設定值

指定建置命令
您可以定義想要 AWS CodeBuild 執行的特定命令,像是安裝建置工具套件、執行單元測試,以及封裝程式碼。建置規格是 YAML 檔案,可讓您選擇在每個建置階段執行的命令,以及其他設定。CodeBuild 提供適用於常見案例的範例建置規格檔案以協助您快速上手,包括使用 Apache Maven、Gradle 或 npm 的組建。

這裡查看建置規格範例檔案。

選擇運算類型
您可以選擇最適合自己開發需求的運算類型。您可選擇三種不同層級的運算容量,每個層級都有不同的 CPU 和記憶體數量。如果您想要更快完成組建,或者您的組建需要最低層級的 CPU 和記憶體才能完成時,可選擇較高的 CPU 和記憶體運算。

選擇原始碼整合
有數種方式可使用 AWS CodeBuild 啟動組建。例如,您可以在連接到 AWS CodeCommit、GitHub 或 Amazon S3 之後,在 CodeBuild 中啟動組建。您也可以利用 AWS CodePipeline 連接 CodeBuild 與原始碼儲存庫,如此一來,只要遞交變更就會自動啟動組建。


持續整合與交付工作流程

AWS CodeBuild 的隨需運算和按用量付費模式,能讓您更頻繁地建立及整合程式碼、協助您在較易於修正的開發程式早期找出和修正錯誤。您可使用 CodeBuild 的原始碼整合、建置命令或 Jenkins 整合,將它整合到現有的持續整合持續交付 (CI/CD) 工作流程。同時,CodeBuild 也屬於 AWS Code 服務系列,可協助您實踐 CI/CD。您可將 CodeBuild 外掛到 AWS CodePipeline,這樣只要您將變更遞交到原始碼儲存庫,就能在 CodeBuild 自動建立及測試程式碼。您可使用 AWS CodePipeline 精靈連接到原始碼儲存庫,然後選取 CodeBuild 做為建置提供者,就能建立此 CI 工作流程。

使用 CodePipeline 可輕易地將持續整合工作流程延伸到持續交付,方法是整合第三方的載入或使用者界面測試工具 (例如 BlazeMeter、Ghost Inspector),當 CodeBuild 完成組建之後,這些工具就會啟動。然後使用與 AWS CodePipeline 整合的服務,像是 AWS CodeDeployAWS Elastic Beanstalk,即可部署到執行個體或現場部署伺服器。

AWS CodePipeline 和 AWS CodeBuild
AWS CodePipeline 和 AWS CodeBuild

AWS CodePipeline 螢幕擷取畫面。這個管道會從 AWS CodeCommit 提取原始程式碼、在 AWS CodeBuild 中建立程式碼,然後使用 AWS CodeDeploy 部署程式碼。

使用 AWS CodeBuild 搭配 AWS CodePipeline
(按一下以放大)


安全與許可

您的組建成品使用 AWS Key Management Service (KMS) 管理的客戶特定金鑰進行加密。AWS CodeBuild 已與 AWS Identity and Access Management 整合,因此您可以精細的控制哪些使用者和 AWS 資源能夠存取您的組建。


監控

您可以使用 AWS 管理主控台、AWS CLI、軟體開發套件和 API 來查看組建的詳細資訊。AWS CodeBuild 可為您顯示組建開始和結束時間、組建狀態、遞交 ID 和分支等資訊。CodeBuild 也可將組建日誌串流到 Amazon CloudWatch Logs。

AWS CodeBuild
AWS CodeBuild

(按一下以放大)