本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 WebhookAWS CodeBuild
AWS CodeBuild支持 Webhook 與 GitHub、GitHub Enterprise Server 和 Bitbucket 集成。
使用 Webhook 的最佳實務AWS CodeBuild
對於使用公有存儲庫來設定 Webhook 的專案,建議您使用下列選項:
- 設定
ACTOR_ACCOUNT_ID
過濾器 -
Add
ACTOR_ACCOUNT_ID
篩選器添加到您的工程 Webhook 篩選器組,以指定哪些用户可以觸發組建。傳遞到 CodeBuild 的每個 webhook 事件都帶有指定參與者標識符的發件人信息。CodeBuild 將根據過濾器中提供的正則表達式模式過濾網絡鈎子。您可以指定允許使用此篩選器觸發構建的特定用户。如需詳細資訊,請參閱 GitHub Webhook 事件 及 Bitbucket Webhook 事件。 - 設定
FILE_PATH
過濾器 -
Add
FILE_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 參考。