AWS CodeBuild 現在已正式上市

免費試用 AWS CodeBuild

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

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

問:什麼是 AWS CodeBuild?

AWS CodeBuild 是在雲端的全受管組建服務。CodeBuild 可編譯原始碼、執行測試,並產生可立即部署的軟體套件。使用 CodeBuild 即可不必佈建、管理、擴展自己的組建伺服器。CodeBuild 會持續擴展並同時處理多個組建,所以您的組建不必在佇列中等候。您可以利用 CodeBuild 預先整裝好的組建環境立即開始使用,或是利用自訂組建環境使用您自己的組建工具。使用 CodeBuild 時,是以分計費。

問:為什麼我應該使用 CodeBuild?

與其由您親自設定、修補、維護組建伺服器軟體,不如利用 CodeBuild 的全受管服務。將組建任務提交至 CodeBuild,便會在暫時的運算容器中執行,每一次組建會建立全新的暫時運算容器,並在完成後丟棄。您不必管理組建伺服器硬體或軟體。CodeBuild 也會自動擴展以滿足您的組建容量需求。它會馬上處理您提交的每一個組建,而且可以同時執行不同的組建,因此您的組建不必排入佇列中等候。

問:CodeBuild 的定價多少?

請參閱 AWS CodeBuild 定價頁面了解詳細資訊。

問:我可以透過 CodeBuild 使我的發佈程序自動化嗎?

是。CodeBuild 已和 AWS CodePipeline 整合。您可以新增一個組建動作,設定在雲端中執行的持續整合和持續交付程序。請參閱這裡學習如何使用 CodePipeline 主控台設定和監控您的組建。


問:什麼是組建專案?

組建專案是用來定義 CodeBuild 執行組建的方式。其中的資訊包括何處可取得原始碼、應使用哪個組建環境、要執行的組建命令、組建輸出的存放位置。組建環境結合了作業系統、程式設計語言執行時間、CodeBuild 用以執行組建的工具。

問:如何設定組建專案?

您可以透過主控台或 AWS CLI 設定組建專案。您必須指定原始儲存庫位置、執行時間環境、組建命令、容器採用的 IAM 角色以及執行組建所需的運算等級。您也可以選擇在 buildspec.yml 檔案中指定組建命令。

問:CodeBuild 支援哪一種原始儲存庫?

CodeBuild 可以連接至 AWS CodeCommit、S3、GitHub 以提取原始碼進行組建。

問:CodeBuild 支援哪一種程式設計架構?

CodeBuild 為 Java、Ruby、Python、Go、Node.js、Android、Docker 的支援版本提供預先設定的環境。您也可以建立一個 Docker 影像,上傳至 Amazon EC2 Container Registry 或 Docker Hub 登錄檔,自訂您自己的環境。然後您便可以在組建專案中參考這個自訂影像。

問:執行組建時會發生什麼事?

CodeBuild 會根據組建專案中定義的類別建立一個暫時運算容器,用指定的執行時間環境載入,接著下載原始碼,執行專案所設定的命令,將產生的成品上傳至 S3 儲存貯體,然後再銷毀運算容器。在組建時,CodeBuild 會把組建輸出串流到服務主控台以及 Amazon CloudWatch Logs。

問:如何設定我的第一個組建?

登入 AWS 管理主控台,建立一個組建專案,然後執行組建。有關 CodeBuild 的簡介,請參閱入門指南,內含逐步操作教學課程。

問:Jenkins 可以和 CodeBuild 搭配使用嗎?

是。Jenkins 適用的 CodeBuild 外掛程式可以將 CodeBuild 整合至 Jenkins 任務。組建任務會傳送到 CodeBuild,所以不必佈建和管理 Jenkins 工作者節點。

問:如何檢視過去的組建結果?

您可以透過主控台或 API 存取過去的組建結果。組建結果包括最終成果 (成功或失敗)、組建持續時間、輸出成品位置、記錄位置。

問:如何為過去失敗的組建除錯?

您可以檢查組建執行期間產生的詳細記錄,為組建除錯。


問:由 CodeBuild 儲存的組建成品可以加密嗎?

是。您可以指定儲存在 AWS Key Management Service (AWS KMS) 的金鑰來加密您的成品。

問:CodeBuild 如何隔離屬於其他客戶的組建?

CodeBuild 執行您的組建版本時,是在和其他使用者隔離的全新環境中進行,而且完成後便會捨棄組建環境。CodeBuild 在基礎設施和執行層級提供安全性及區隔功能。

問:我可以使用 AWS Identity and Access Management (IAM) 管理 CodeBuild 的存取權限嗎?

是。您可以透過 IAM 政策的資源層級許可控制組建專案的存取。


問:CodeBuild 支援哪些區域?

請參閱區域產品與服務了解詳細資訊。