本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的 GitHub 提取請求和 Webhook 篩選條件範例 CodeBuild
當來源儲存庫是 GitHub 時,AWS CodeBuild 支援 Webhook。這表示對於 CodeBuild 建置專案,該專案的來源碼存放在 GitHub 儲存庫中,Webhook 可以用於在每次程式碼變更推送至儲存庫時,就重建原始碼。
使用 webhooks 時,用户可能會觸發意外的構建。若要降低此風險,請參閲使用 Webhook 的最佳實務。
使用 GitHub 做為來源儲存庫建立建置專案並啟用 Webhook (主控台)
開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home
。 如果 CodeBuild ,選擇建立組建專案。否則,在導覽窗格中,展開建置,選擇組建專案選擇,接著選擇建立組建專案。
-
選擇 Create build project (建立建置專案)。
-
在 Project configuration (專案組態) 中:
- Project name (專案名稱)
-
輸入此建置專案的名稱。組建專案名稱在每個 AWS 帳戶中都必須是唯一的。您還可以包含生成項目的可選描述,以幫助其他用户瞭解此項目用於什麼。
-
在 Source (來源) 中:
- 來源供應商
-
選擇GitHub。請遵循説明來連線 (或重新連線) GitHub 選擇授權。
- 儲存庫
-
選擇 Repository in my GitHub account (GitHub 帳戶中的儲存庫)。
- GitHub 儲存庫
-
輸入您的 GitHub 儲存庫。
-
In主要源 Webhook 事件下,選取下列項目。
注意 所以此主要源 Webhook 事件部分僅當您選擇在我的儲存庫 GitHub 帳戶在上一個步驟中。
-
當您建立專案時,請選取 Rebuild every time a code change is pushed to this repository (在每次將程式碼變更推送至此儲存庫時重建)。
-
從 Event type (事件類型),選擇一或多個事件。
-
若要篩選事件觸發組建的時間,請在 Start a build under these conditions (在這些情況下開始組建) 下新增一或多個選用的篩選條件。
-
若要篩選何時不觸發事件,請在 Don't start a build under these conditions (在這些情況下不開始組建) 下新增一或多個選用的篩選條件。
-
選擇新增篩選條件組(如果需要) 新增另一個篩選器組。
如需有關 的詳細資訊 GitHub webhook 事件類型和過濾器,請參閲GitHub Webhook 事件。
-
-
在 Environment (環境) 中:
- 環境映像
選擇下列其中一項:
- 使用由AWS CodeBuild:
-
選擇託管映像,然後從作業系統、運行時、Image (影像),和映像版本。若可用,請從 Environment type (環境類型) 進行選擇。
- 若要使用另一個 Docker 映像:
-
選擇自訂映像。適用於環境類型,選擇手臂、Linux、Linux GPU, 或視窗。如果選擇其他登錄檔, 用於外部註冊機構 URL中,在 Docker Hub 中輸入 Docker 映像的名稱和標籤,使用
。如果選擇Amazon ECR,使用Amazon ECR 儲存庫和Amazon ECR 映像資訊反應來選擇AWS帳户。docker repository
/docker image name
- 要使用私有碼頭映像,請執行以下操作:
-
選擇自訂映像。適用於環境類型,選擇手臂、Linux、Linux GPU, 或視窗。針對 Image registry (映像登錄) 選擇 Other registry (其他登錄),然後輸入私人 Docker 映像的憑證的 ARN。登入資料必須是由 Secrets Manager 所建立。如需詳細資訊,請參閱「」是什麼AWS Secrets Manager?中的AWS Secrets Manager使用者指南。
- 服務角色
-
選擇下列其中一項:
-
如果您沒有 CodeBuild 服務角色,選擇新服務角色。InRole name (角色名稱)中,輸入新角色的名稱。
-
如果您有 CodeBuild 服務角色,選擇Esternal 服務角色。In角色 ARN下,選擇服務角色。
注意 當您使用主控台來建立或更新建置專案時,可以建立 CodeBuild 服務角色。根據預設,此角色只能與該建置專案搭配運作。如果您使用主控台將此服務角色與另一個建置專案建立關聯,則會更新此角色以與其他建置專案搭配運作。服務角色最多可以與 10 個組建專案搭配運作。
-
InBuildSpec執行下列其中一項動作:
-
選擇使用 Buildspec 檔案以使用來源碼根目錄中的 buildspec.yml 檔案。
-
選擇插入構建命令使用控制台插入構建命令。
如需詳細資訊,請參閱 Buildspec 參考。
-
-
在 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 (其他組態),並適當地設定選項。
-
選擇 Create build project (建立建置專案)。在 Review (檢閱) 頁面上,選擇 Start build (開始建置) 來執行建置。
驗證檢查
開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home
。 -
在導覽窗格中,選擇 Build projects (建置專案)。
-
執行下列任一步驟:
-
選擇具有您想要驗證之 Webhook 建置專案的連結,然後選擇 Build details (建置詳細資訊)。
-
選擇具有您想要驗證之 Webhook 建置專案旁的選項按鈕,選擇View details (檢視詳細資訊),然後選擇組建詳細資訊(選項卡)。
-
-
In主要源 Webhook 事件中,選擇WebhookURL 鏈接。
-
在您的 GitHub 存儲庫,在設定頁面,在Webhook,驗證提取請求和推送。
-
在您的 GitHub 配置文件設置,在個人設定、應用程式、授權 OAuth 應用程式,您應該看到您的應用程序已被授權訪問AWS您選擇的區域。