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

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

在 CodeBuild 中存取您的來源供應商

適用於 GitHub 或者 GitHub 企業服務器,您會使用個人存取字符來存取來源提供者。針對 Bitbucket,您會使用應用程式密碼來存取來源供應商。

GitHub 和 GitHub Enterprise Server 存取符記

存取字符先決條件

在您開始之前,您必須將適當的許可範圍添加至 GitHub 存取權限。

對於 GitHub,您的個人存取字符必須具有以下範圍。

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

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

  • 管理員:重新掛鈎:授予儲存庫勾點的完全控制。如果您的字符有 repo 範圍,則不需要此範圍。

如需詳細資訊,請參閱「」瞭解 OAuth 應用程序的作用域在 GitHub 網站。

連線 GitHub 使用訪問令牌(控制台)

若要使用主控台將您的專案連線至 GitHub ,請在建立專案時執行下列動作。如需相關資訊,請參閱 建立組建專案 (主控台)

  1. 針對 Source provider (來源供應商),選擇 GitHub

  2. 適用於儲存庫,選擇連線到 GitHub 個人存取字符

  3. GitHub personal access token (GitHub 個人存取字符) 中,輸入您的 GitHub 個人存取字符。

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

連線 GitHub 使用訪問令牌 (CLI)

請依照下列步驟,使用AWS CLI將您的項目連接到 GitHub 使用存取字符。如需搭配使用 AWS CLI 與 AWS CodeBuild 的資訊,請參閱命令列參考

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

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

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

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

    取代下列項目:

    • 服務器類型:必要值。用於此登入資料的來源供應商。有效值為 GITHUB 或 GITHUB_Enterprise。

    • 授權類型:必要值。此類身份驗證可用來連線至 GitHub 或者 GitHub Enterprise Server 存儲庫。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您無法使用 CodeBuild API 來建立 OAUTH 連線。您必須使用 CodeBuild 主控台。

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

    • 代幣:必要值。適用於 GitHub 或者 GitHub 企業級服務器,這是個人存取字符。

    • 用戶名:選用值。忽略此參數 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" }

Bitbucket 應用程式密碼

應用程式密碼先決條件

開始之前,您必須將適當的許可範圍添加至您的 Bitbucket 應用程式密碼。

對於 Bitbucket,您的應用程式密碼必須具有以下範圍。

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

  • 拉請求:讀取:授予提取請求的讀取存取權。如果您的專案有 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 登入資料)

使用應用程序密碼 (CLI) Connect 位桶

請依照下列步驟,使用AWS CLI以使用應用程序密碼將您的項目連接到 Bitbucket。如需搭配使用 AWS CLI 與 AWS CodeBuild 的資訊,請參閱命令列參考

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

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

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

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

    取代下列項目:

    • 授權類型:必要值。用來連接到 Bitbucket 儲存庫的身份驗證類型。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您無法使用 CodeBuild API 來建立 OAUTH 連線。您必須改用代 CodeBuild 主控台。

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

    • 代幣:必要值。對於 Bitbucket,這是應用程式密碼。

    • 用戶名:選用值。當時的 Bitbucket 用户名稱authType為 BASIC_AUTH。將對其他類型的來源供應商或連線忽略此參數。

  2. 若要使用應用程式密碼連接您的帳號,請切換至包含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. 若要與來源供應商斷開連線並刪除其應用程式密碼,請執行delete-source-credentials命令與其 ARN 一起使用。

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

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

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