AWS CodeBuild 是在雲端的全受管持續整合服務。CodeBuild 可編譯原始碼、執行測試,並產生可立即部署的軟體套件。使用 CodeBuild 即可不必佈建、管理、擴展自己的組建伺服器。CodeBuild 會自動擴展和縮減並同時處理多個組建,所以您的組建不必在佇列中等候。您可以利用 CodeBuild 預先整裝好的組建環境立即開始使用,或是利用自訂組建環境使用您自己的組建工具。使用 CodeBuild 時,是以分計費。
與其由您親自設定、修補、維護組建伺服器軟體,不如利用 CodeBuild 的全受管服務。將組建任務提交至 CodeBuild,便會在暫時的運算容器中執行,每一次組建會建立全新的暫時運算容器,並在完成後丟棄。您不必管理組建伺服器硬體或軟體。CodeBuild 也會自動擴展以滿足您的組建容量需求。它會馬上處理您提交的每一個組建,而且可以同時執行不同的組建,因此您的組建不必排入佇列中等候。
請參閱 AWS CodeBuild 定價頁面了解詳細資訊。
是。CodeBuild 已和 AWS CodePipeline 整合。您可以新增一個組建動作,設定在雲端中執行的持續整合和持續交付程序。請參閱這裡學習如何使用 CodePipeline 主控台設定和監控您的組建。
組建專案是用來定義 CodeBuild 執行組建的方式。其中的資訊包括何處可取得原始碼、應使用哪個組建環境、要執行的組建命令、組建輸出的存放位置。組建環境結合了作業系統、程式設計語言執行時間、CodeBuild 用以執行組建的工具。
您可以透過主控台或 AWS CLI 設定組建專案。您必須指定原始儲存庫位置、執行時間環境、組建命令、容器採用的 IAM 角色以及執行組建所需的運算等級。您也可以選擇在 buildspec.yml 檔案中指定組建命令。
CodeBuild 可以連接至 AWS CodeCommit、S3、GitHub 和 GitHub Enterprise 以及 Bitbucket,以提取原始碼進行組建。
CodeBuild 為支援的 Java、Ruby、Python、Go、Node.js、Android、.NET Core、PHP 和 Docker 版本提供了預先設定的環境。您可以建立一個 Docker 影像,上傳至 Amazon EC2 Container Registry 或 Docker Hub 登錄檔,自訂您自己的環境。然後您便可以在組建專案中參考這個自訂影像。
CodeBuild 針對 .NET Core 2.0 提供預先設定的 Windows 組建環境。我們希望為 Microsoft .NET Framework 客戶提供預先設定的組建環境,這些客戶大部分都擁有使用 Microsoft 專屬程式庫的授權。但是,Microsoft 目前不願意與我們合作解決這些客戶請求。您可以建立一個 Docker 影像,上傳至 Amazon EC2 Container Registry 或 Docker Hub 登錄檔,自訂您自己的環境以支援 .NET Framework 等其他組建目標。然後您便可以在組建專案中參考這個自訂影像。
CodeBuild 會根據組建專案中定義的類別建立一個暫時運算容器,用指定的執行時間環境載入,接著下載原始碼,執行專案所設定的命令,將產生的成品上傳至 S3 儲存貯體,然後再銷毀運算容器。在組建時,CodeBuild 會把組建輸出串流到服務主控台以及 Amazon CloudWatch。
登入 AWS 管理主控台,建立一個組建專案,然後執行組建。有關 CodeBuild 的簡介,請參閱入門指南,內含逐步操作教學課程。您也可以使用 CodeBuild Local 在本機對組建進行測試和偵錯。
是。Jenkins 適用的 CodeBuild 外掛程式可以將 CodeBuild 整合至 Jenkins 任務。組建任務會傳送到 CodeBuild,所以不必佈建和管理 Jenkins 工作者節點。
您可以透過主控台、CloudWatch 或 API 存取過去的組建結果。組建結果包括最終成果 (成功或失敗)、組建持續時間、輸出成品位置、記錄位置。您可以使用 CodeBuild 儀表板查看指標,了解一段時間的組建行為。儀表板可顯示組建嘗試、成功和失敗的次數,以及組建的持續時間。您也可以瀏覽 CloudWatch 主控台,查看更詳細的組建指標。要進一步了解使用 CloudWatch 監控 CodeBuild,請瀏覽我們的文件。
您可以檢查執行組建時產生的詳細日誌,對組建進行偵錯,或者使用 CodeBuild Local 在本機對組建進行測試和偵錯。
適用於 Windows 組建環境的 .NET Core 由於 Windows Docker 容器和其他程式庫大小的關係,需要的記憶體和處理能力較 build.general1.small 運算執行個體類型提供的還多。由於這項限制,我們不提供適用於 Windows 組建環境的 .NET Core 免費方案。
您可以針對影響您建立專案的事件來建立通知。通知會以 Amazon SNS 通知的形式傳送。每則通知都會包括狀態訊息,以及生成該通知的事件資源連結。 通知不需額外付費,但您可能需要支付通知所使用的其他 AWS 服務費用,例如 Amazon SNS。如需了解如何開始使用通知,請參閱通知使用者指南。此外,使用 AWS Chatbot 的客戶可以設定要傳送至 Slack 頻道或 Amazon Chime 聊天室的通知。如需更多詳細資訊,請按一下這裡。
是。您可以指定儲存在 AWS Key Management Service (AWS KMS) 的金鑰來加密您的成品。
CodeBuild 執行您的組建版本時,是在和其他使用者隔離的全新環境中進行,而且完成後便會捨棄組建環境。CodeBuild 在基礎設施和執行層級提供安全性及區隔功能。
是。您可以透過 IAM 政策的資源層級許可控制組建專案的存取。
請參閱區域產品與服務,了解詳細資訊。