使用網路掛鉤 AWS CodeBuild - AWS CodeBuild

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

使用網路掛鉤 AWS CodeBuild

AWS CodeBuild 支持 Webhook 集成 GitHub, GitHub 企業服務器 GitLab, GitLab 自我管理和比特桶。

搭配使用網路掛接的最佳做法 AWS CodeBuild

對於使用公共存儲庫來設置 webhook 的項目,我們建議您使用以下選項:

設置ACTOR_ACCOUNT_ID過濾器

將過ACTOR_ACCOUNT_ID濾器添加到項目的 webhook 過濾器組中,以指定哪些用戶可以觸發構建。傳遞給的每個 webhook 事件都會 CodeBuild 隨附指定演員標識符的發送者信息。 CodeBuild 將根據過濾器中提供的正則表達式模式過濾 Webhook。您可以指定允許使用此篩選器觸發組建的特定使用者。如需詳細資訊,請參閱 GitHub 網絡掛鉤事件比特桶網絡鉤事件

設置FILE_PATH過濾器

將過FILE_PATH濾器添加到項目的 webhook 過濾器組中,以包含或排除可以在更改時觸發構建的文件。例如,您可以使用規則運算式模式 (例如^buildspec.yml$,連同excludeMatchedPattern屬性) 拒絕buildspec.yml檔案變更的建置要求。如需詳細資訊,請參閱 GitHub 網絡掛鉤事件比特桶網絡鉤事件

縮小組建 IAM 角色的許可範圍

由 webhook 觸發的組建會使用專案中指定的 IAM 服務角色。我們建議您將服務角色中的權限設定為執行組建所需的最低權限集。例如,在測試和部署案例中,建立一個專案進行測試,另一個專案進行部署。測試項目接受來自存儲庫的 webhook 構建,但不提供對資源的寫入權限。部署專案會為您的資源提供寫入權限,而 webhook 篩選器設定為只允許受信任的使用者觸發組建。

使用內嵌或 Amazon S3 存儲的構建規格

如果您在專案本身內嵌定義組建規格,或將 Buildspec 檔案存放在 Amazon S3 儲存貯體中,則只有專案擁有者才能看到該建置規格檔案。這樣可以防止提取請求對 buildspec 文件進行代碼更改並觸發不需要的構建。如需詳細資訊,請參閱 API 參ProjectSource考資料中的 CodeBuild .buildspec