的 Bitbucket 提取請求和 Webhook 篩選條件範例 CodeBuild - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

的 Bitbucket 提取請求和 Webhook 篩選條件範例 CodeBuild

AWS CodeBuild當來源儲存庫是 Bitbucket 時,支援 Webhook。這表示對於 CodeBuild 組建專案,Webhook 可在每次程式碼變更推送至儲存庫時,就可以使用 Webhook 來重建原始碼。如需詳細資訊,請參閱

此範例示範如何使用 Bitbucket 儲存庫建立提取請求。它還向您展示如何使用 Bitbucket Webhook 來觸發 CodeBuild 來建立組建專案。

注意

使用 webhooks 時,用户可能會觸發意外的構建。若要降低此風險,請參閲使用 Webhook 的最佳實務

先決條件

若要執行此範例,您必須將 AWS CodeBuild 專案與 Bitbucket 帳戶連接。

注意

CodeBuild 已隨著 Bitbucket 而更新其許可。如果您先前已將專案連接到 Bitbucket,而現在收到 Bitbucket 連線錯誤,則必須重新連接,以授予 CodeBuild 權限來管理您的網絡掛鈎。

建立以 Bitbucket 為來源儲存庫的建置專案並啟用 Webhook

下列步驟描述如何建立以 Bitbucket 為來源儲存庫的 AWS CodeBuild 專案並啟用 Webhook。

  1. 開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home

  2. 如果 CodeBuild ,選擇建立組建專案。否則,在導覽窗格中,展開建置,選擇組建專案選擇,接著選擇建立組建專案

  3. 選擇 Create build project (建立建置專案)

  4. Project configuration (專案組態) 中:

    Project name (專案名稱)

    輸入此建置專案的名稱。組建專案名稱在每個 AWS 帳戶中都必須是唯一的。您還可以包含生成項目的可選描述,以幫助其他用户瞭解此項目用於什麼。

  5. Source (來源) 中:

    來源供應商

    選擇Bitbucket。請遵循説明來與 Bitbucket 連線 (或重新連線),然後選擇授權

    儲存庫

    選擇我的 Bitbucket 賬户中的存儲庫

    如果您之前尚未連接到您的 Bitbucket 帳户,請輸入您的 Bitbucket 用户名和應用密碼,然後選擇保存 Bitbucket 憑據

    Bitbucket 倉庫

    輸入您的 Bitbucket 儲存庫的 URL。

  6. In主要源 Webhook 事件下,選取下列項目。

    注意

    所以此主要源 Webhook 事件部分僅當您選擇我的 Bitbucket 賬户中的存儲庫在上一個步驟中。

    1. 當您建立專案時,請選取 Rebuild every time a code change is pushed to this repository (在每次將程式碼變更推送至此儲存庫時重建)

    2. Event type (事件類型),選擇一或多個事件。

    3. 若要篩選事件觸發組建的時間,請在 Start a build under these conditions (在這些情況下開始組建) 下新增一或多個選用的篩選條件。

    4. 若要篩選何時不觸發事件,請在 Don't start a build under these conditions (在這些情況下不開始組建) 下新增一或多個選用的篩選條件。

    5. 選擇新增篩選條件組(如果需要) 新增另一個篩選器組。

    若要了解 Bitbucket Webhook 事件類型和篩選條件的詳細資訊,請參Bitbucket Webhook 事件

  7. Environment (環境) 中:

    環境映像

    選擇下列其中一項:

    使用由AWS CodeBuild:

    選擇託管映像,然後從作業系統運行時Image (影像),和映像版本。若可用,請從 Environment type (環境類型) 進行選擇。

    若要使用另一個 Docker 映像:

    選擇自訂映像。適用於環境類型,選擇手臂LinuxLinux GPU, 或視窗。如果選擇其他登錄檔, 用於外部註冊機構 URL中,在 Docker Hub 中輸入 Docker 映像的名稱和標籤,使用docker repository/docker image name。如果選擇Amazon ECR,使用Amazon ECR 儲存庫Amazon ECR 映像資訊反應來選擇AWS帳户。

    要使用私有碼頭映像,請執行以下操作:

    選擇自訂映像。適用於環境類型,選擇手臂LinuxLinux GPU, 或視窗。針對 Image registry (映像登錄) 選擇 Other registry (其他登錄),然後輸入私人 Docker 映像的憑證的 ARN。登入資料必須是由 Secrets Manager 所建立。如需詳細資訊,請參閱「」是什麼AWS Secrets Manager?中的AWS Secrets Manager使用者指南

    服務角色

    選擇下列其中一項:

    • 如果您沒有 CodeBuild 服務角色,選擇新服務角色。InRole name (角色名稱)中,輸入新角色的名稱。

    • 如果您有 CodeBuild 服務角色,選擇Esternal 服務角色。In角色 ARN下,選擇服務角色。

    注意

    當您使用主控台來建立或更新建置專案時,可以建立 CodeBuild 服務角色。根據預設,此角色只能與該建置專案搭配運作。如果您使用主控台將此服務角色與另一個建置專案建立關聯,則會更新此角色以與其他建置專案搭配運作。服務角色最多可以與 10 個組建專案搭配運作。

  8. InBuildSpec執行下列其中一項動作:

    • 選擇使用 Buildspec 檔案來使用來源碼根目錄中的 buildspec.yml 檔案。

    • 選擇插入構建命令使用控制台插入構建命令。

    如需詳細資訊,請參閱 Buildspec 參考

  9. Artifacts (成品) 中:

    類型

    選擇下列其中一項:

    • 如果您不要建立建置輸出成品,則請選擇 No artifacts (無成品)

    • 若要將建置輸出存放至 S3 儲存貯體,請選擇Amazon S3,然後執行下列作業:

      • 如果您想要使用專案名稱做為組建輸出 ZIP 檔案或資料夾名稱,則請將 Name (名稱) 保留空白。否則請輸入名稱。根據預設,成品名稱是專案名稱。如果想使用不同的名稱,請在成品名稱方塊中輸入名稱。如果要輸出 ZIP 檔案,請包含 zip 副檔名。

      • 針對 Bucket name (儲存貯體名稱),選擇輸出儲存貯體的名稱。

      • 如果您在本程序稍早選擇 Insert build commands (插入組建命令),然後針對 Output files (輸出檔案),輸入要放入組建輸出 ZIP 檔案或資料夾之組建中的檔案位置。針對多個位置,以逗號區隔每個位置 (例如,appspec.yml, target/my-app.jar)。如需詳細資訊,請參閱Buildspec 語法中的 files 描述。

    其他組態

    展開 Additional configuration (其他組態),並適當地設定選項。

  10. 選擇 Create build project (建立建置專案)。在 Review (檢閱) 頁面上,選擇 Start build (開始建置) 來執行建置。

以 Bitbucket Webhook 觸發建置

如果專案使用 Bitbucket Webhook,當 Bitbucket 儲存庫偵測到您的來源碼有變更時,AWS CodeBuild 會建立組建。

  1. 開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home

  2. 在導覽窗格上,選擇 Build projects (建置專案),然後選擇與帶有 Webhook 的 Bitbucket 儲存庫相關聯的專案。如需有關建立 Bitbucket Webhook 專案的資訊,請參建立以 Bitbucket 為來源儲存庫的建置專案並啟用 Webhook

  3. 在專案的 Bitbucket 儲存庫中對程式碼做些變更。

  4. 在 Bitbucket 儲存庫上建立提取請求。如需詳細資訊,請參閱提出提取請求

  5. 在 Bitbucket Webhook 頁面中,選擇 View request (檢視請求) 來查看最近事件的清單。

  6. 選擇View details (檢視詳細資訊),以查看 CodeBuild 返回的響應詳細資訊。這看起來類似下述:

    "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..." "statusCode":200
  7. 導覽至 Bitbucket 提取請求頁面來查看組建狀態。