使用 WebhookAWS CodeBuild - AWS CodeBuild

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

使用 WebhookAWS CodeBuild

AWS CodeBuild支持 Webhook 與 GitHub、GitHub Enterprise Server 和 Bitbucket 集成。

使用 Webhook 的最佳實務AWS CodeBuild

對於使用公有存儲庫來設定 Webhook 的專案,建議您使用下列選項:

設定ACTOR_ACCOUNT_ID過濾器

AddACTOR_ACCOUNT_ID篩選器添加到您的工程 Webhook 篩選器組,以指定哪些用户可以觸發組建。傳遞到 CodeBuild 的每個 webhook 事件都帶有指定參與者標識符的發件人信息。CodeBuild 將根據過濾器中提供的正則表達式模式過濾網絡鈎子。您可以指定允許使用此篩選器觸發構建的特定用户。如需詳細資訊,請參閱 GitHub Webhook 事件Bitbucket Webhook 事件

設定FILE_PATH過濾器

AddFILE_PATH過濾器添加到項目的 webhook 篩選器組,以包括或排除可以在更改時觸發構建的文件。例如,您可以拒絕組建請求對buildspec.yml文件使用正則表達式模式(如^buildspec.yml$,以及excludeMatchedPattern屬性。如需詳細資訊,請參閱 GitHub Webhook 事件Bitbucket Webhook 事件

組建 IAM 角色的許可範圍

由 webhook 觸發的生成使用項目中指定的 IAM 服務角色。我們建議將服務角色中的權限設置為運行構建所需的最小權限集。例如,在測試和部署方案中,創建一個用於測試的項目和另一個項目進行部署。測試項目接受來自存儲庫的 webhook 構建,但不提供對資源的寫入權限。部署項目為您的資源提供寫入權限,並將 webhook 篩選器配置為僅允許受信任用户觸發生版本。

使用內聯或 Amazon S3 存儲的構建規範

如果您在項目本身內嵌定義構建規範,或者將 buildspec 文件存儲在 Amazon S3 存儲桶中,則該 buildspec 文件僅對項目所有者可見。這可以防止拉取請求對 buildspec 文件進行代碼更改並觸發不需要的構建。如需詳細資訊,請參閱「」項目源。構建規範中的CodeBuild API 參考