存取您的來源供應商 CodeBuild - AWS CodeBuild

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

存取您的來源供應商 CodeBuild

對於 GitHub 或 GitHub 企業服務器,您可以使用個人訪問令牌或 OAuth 應用程序來訪問源提供程序。對於 Bitbucket,您可以使用訪問令牌,應用程序密碼或 OAuth 應用程序來訪問源提供程序。

注意

GitLab 和自我管理 GitLab 源提供程序不是直接訪問, CodeBuild 而是通過 AWS CodeConnections。

GitHub 和 GitHub 企業服務器訪問令牌

存取字符先決條件

在開始之前,您必須將適當的權限範圍添加到 GitHub 訪問令牌中。

對於 GitHub,您的個人訪問令牌必須具有以下範圍。

  • repo:授予私有儲存庫的完全控制。

  • rep:status:授予公共和私有存儲庫提交狀態的讀/寫訪問權限。

  • admin:repo_hook:授予儲存庫勾點的完全控制。如果您的字符有 repo 範圍,則不需要此範圍。

有關詳情,請參閱了解 GitHub 網站上 OAuth 應用程式的範圍。

如果您使用的是細粒度的個人訪問令牌,具體取決於您的用例,您的個人訪問令牌可能需要以下權限:

  • 內容:唯讀:授與私人儲存區域的存取權。如果您使用私有存放庫作為來源,則需要此權限。

  • 確認狀態:讀取和寫入:授與建立提交狀態的權限。如果您的項目已設置 webhook,或者您已啟用報告構建狀態功能,則需要此權限。

  • 網絡掛鉤:讀取和寫入:授予管理網絡掛鉤的權限。如果您的項目設置了 webhook,則需要此權限。

  • 提取要求:唯讀:授與存取提取要求的權限。如果您的 webhook 對提取請求事件具有FILE_PATH過濾器,則需要此權限。

  • 管理:讀取和寫入:如果搭 CodeBuild配使用自我託管的 GitHub 動作執行器功能,則需要此權限。有關更多詳細信息,請參閱為存儲庫和創建註冊令牌在中設定自託管的 GitHub 動作跑步者 AWS CodeBuild

注意

如果您想要存取組織儲存庫,請務必將組織指定為存取權杖的資源擁有者。

需詳細資訊,請參閱 GitHub 網站上精細個人存取權杖所需的權限。

Connect GitHub 訪問令牌(控制台)

要使用控制台 GitHub 使用訪問令牌將項目連接到,請在創建項目時執行以下操作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於來源提供者,請選擇GitHub

  2. 對於存放庫,選擇使用個 GitHub 人存取權杖 Connect

  3. GitHub 個人訪問令牌中,輸入您的 GitHub個人訪問令牌。

  4. 選擇 Save token (儲存字符)

Connect GitHub 用存取權杖 (CLI) 連線

請按照以下步驟使用 AWS CLI 將您的項目連接到 GitHub 使用訪問令牌。若要取得有關使用 AWS CLI 與的資訊 AWS CodeBuild,請參閱命令列參考

  1. 執行 import-source-credentials 命令:

    aws codebuild import-source-credentials --generate-cli-skeleton

    即會在輸出中顯示 JSON 格式化資料。將資料複製到本機電腦或執行個體上安裝的位置中的檔案 (例如,import-source-credentials.json)。 AWS CLI 如下所示修改複製的資料,並儲存您的結果。

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    取代以下項目:

    • server-type:必要值。用於此登入資料的來源供應商。有效值為 GITHUB 或企業。

    • auth-type:必要值。用來連線至 GitHub 或 GitHub 企業伺服器儲存區域的驗證類型。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您無法使用 CodeBuild API 來建立 OAUTH 連線。您必須改用 CodeBuild 主控台。

    • should-overwrite:選用值。設為 false 可防止覆寫儲存庫來源登入資料。設為 true 可覆寫儲存庫來源登入資料。預設值為 true

    • token:必要值。對於 GitHub 或 GitHub 企業服務器,這是個人訪問令牌。

    • username:選用值。 GitHub 和「 GitHub 企業伺服器」來源提供者會忽略此參數。

  2. 若要使用存取字符連接您的帳戶,請切換到包含您在步驟 1 中儲存的 import-source-credentials.json 檔案的目錄,並再次執行 import-source-credentials 命令。

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON 格式的資料會出現在 Amazon Resource Name (ARN) 的輸出中。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    注意

    如果您使用相同的伺服器類型和身分驗證類型執行 import-source-credentials 命令第二次,即會更新存放的存取字符。

    在您的帳戶與訪問令牌連接後,您可以使用create-project來創建 CodeBuild 項目。如需詳細資訊,請參閱 建立建置專案 (AWS CLI)

  3. 若要檢視連接的存取字符,請執行 list-source-credentials 命令。

    aws codebuild list-source-credentials

    輸出中即會顯示 JSON 格式的 sourceCredentialsInfos 物件:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    sourceCredentialsObject 包含連接的來源登入資料資訊的清單:

    • authType 是登入資料使用的身分驗證類型。此值可以為 OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKEN

    • serverType 是來源供應商的類型。此值可以為 GITHUBGITHUB_ENTERPRISEBITBUCKET

    • arn 為字符的 ARN。

  4. 若要與來源供應商中斷連接並移除其存取字符,請使用其 ARN 執行 delete-source-credentials 命令。

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSON 格式的資料會隨著所刪除登入資料的 ARN 傳回。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

GitHub OAuth 應用程式

GitHub 使用 OAuth(控制台)進行 Connect

要使用控制台將項目連接到 GitHub 使用 OAuth 應用程序,請在創建項目時執行以下操作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於來源提供者,請選擇GitHub

  2. 對於存放庫,選擇使用 OAuth Connect

  3. 選擇 Connect 到 GitHub,登錄並授權您的帳戶。

  4. 選擇「確認」以連接 CodeBuild 到您的 GitHub 帳戶。

  5. GitHub 儲存庫中,輸入您的 GitHub存放庫連結。

若要檢閱已授權的 OAuth 應用程式,請瀏覽至開啟的應用程式 GitHub,並確認是否列出 aws-code uite AWS CodeBuild (region) 擁有的應用程式。

比特桶應用程序密碼或訪問令牌

必要條件

在開始之前,您必須將適當的權限範圍添加到您的 Bitbucket 應用程序密碼或訪問令牌。

對於 Bitbucket,您的應用程序密碼或訪問令牌必須具有以下範圍。

  • repository:read:授予獲授權使用者可存取的所有儲存庫之讀取存取權。

  • pullrequest:read:授予提取請求的讀取存取權。如果您的項目具有 Bitbucket webhook,那麼您的應用程序密碼或訪問令牌必須具有此範圍。

  • webhook:授予 Webhook 的存取權。如果您的項目具有 webhook 操作,則您的應用程序密碼或訪問令牌必須具有此範圍。

如需詳細資訊,請參閱 Bitbucket 網站上的 Bitbucket Cloud REST API 的範圍Bitbucket Cloud 上的 OAuth

使用應用程序密碼(控制台)Connect Bitbucket

要使用控制台使用應用程序密碼將項目連接到 Bitbucket,請在創建項目時執行以下操作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於 Source provider (來源供應商),選擇 Bitbucket

    注意

    CodeBuild 不支援比特桶伺服器。

  2. 對於 Repository (儲存庫),選擇 Connect with a Bitbucket app password (使用 Bitbucket 應用程式密碼連接)

  3. Bitbucket username (Bitbucket 使用者名稱) 中,輸入您的 Bitbucket 使用者名稱。

  4. Bitbucket app password (Bitbucket 應用程式密碼) 中,輸入您的 Bitbucket 應用程式密碼。

  5. 選擇 Save Bitbucket credentials (儲存 Bitbucket 登入資料)

使用訪問令牌(控制台)Connect Bitbucket

要使用控制台使用訪問令牌將項目連接到 Bitbucket,請在創建項目時執行以下操作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於 Source provider (來源供應商),選擇 Bitbucket

    注意

    CodeBuild 不支援比特桶伺服器。

  2. 對於存儲庫,選擇使用 Bitbucket 訪問令牌 Connect

  3. Bitbucket 存取權杖中,輸入您的 Bitbucket 存取權杖。

  4. 選擇 Save token (儲存字符)

使用應用程序密碼或訪問令牌(CLI)Connect Bitbucket

請依照下列步驟使用應 AWS CLI 用程式密碼或存取權杖將專案連線至 Bitbucket。若要取得有關使用 AWS CLI 與的資訊 AWS CodeBuild,請參閱命令列參考

  1. 執行 import-source-credentials 命令:

    aws codebuild import-source-credentials --generate-cli-skeleton

    即會在輸出中顯示 JSON 格式化資料。將資料複製到本機電腦或執行個體上安裝的位置中的檔案 (例如,import-source-credentials.json)。 AWS CLI 如下所示修改複製的資料,並儲存您的結果。

    { "serverType": "BITBUCKET", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    取代以下項目:

    • auth-type:必要值。用來連線至 Bitbucket 儲存庫的驗證類型。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您無法使用 CodeBuild API 來建立 OAUTH 連線。您必須改用 CodeBuild 主控台。

    • should-overwrite:選用值。設為 false 可防止覆寫儲存庫來源登入資料。設為 true 可覆寫儲存庫來源登入資料。預設值為 true

    • token:必要值。對於 Bitbucket,這是訪問令牌或應用程序密碼。

    • username:選用值。當authType為基本 _AUTH 時,位桶使用者名稱。將對其他類型的來源供應商或連線忽略此參數。

  2. 若要將您的帳戶與應用程式密碼或存取權杖連線,請切換至包含您在步驟 1 中儲存之import-source-credentials.json檔案的目錄,然後再次執行import-source-credentials命令。

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON 格式的資料會出現在 Amazon Resource Name (ARN) 的輸出中。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    注意

    如果您使用相同的伺服器類型和身分驗證類型執行 import-source-credentials 命令第二次,即會更新存放的存取字符。

    使用應用程式密碼連結帳戶後,您就可以用create-project來建立 CodeBuild 專案。如需詳細資訊,請參閱 建立建置專案 (AWS CLI)

  3. 若要檢視連線的應用程式密碼或存取權杖,請執行list-source-credentials命令。

    aws codebuild list-source-credentials

    輸出中即會顯示 JSON 格式的 sourceCredentialsInfos 物件:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "BITBUCKET", "arn": "arn" } ] }

    sourceCredentialsObject 包含連接的來源登入資料資訊的清單:

    • authType 是登入資料使用的身分驗證類型。此值可以為 OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKEN

    • arn 為字符的 ARN。

  4. 若要中斷與來源提供者的連線,並移除其應用程式密碼或存取權杖,請使用其 ARN 執行delete-source-credentials命令。

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSON 格式的資料會隨著所刪除登入資料的 ARN 傳回。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

比特桶 OAuth 應用程序

使用 OAuth(控制台)Connect 比特桶

要使用控制台使用 OAuth 應用程序將項目連接到 Bitbucket,請在創建項目時執行以下操作。如需相關資訊,請參閱建立組建專案 (主控台)

  1. 對於 Source provider (來源供應商),選擇 Bitbucket

  2. 對於存放庫,選擇使用 OAuth Connect

  3. 選擇 Connect 到 Bitbucket,登錄並授權您的帳戶。

  4. 選擇「確認」以連接 CodeBuild 到您的 Bitbucket 帳戶。

  5. Bitbucket 儲存庫中,輸入您的 Bitbucket 儲存庫連結。

要查看您授權的 OAuth 應用程序,請導航到 Bitbucket 上的應用程序授權,並驗證是否列出了名為AWS CodeBuild (region)的應用程序。