CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作 - AWS CodePipeline

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

CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作

支援連線的來源動作 AWS CodeConnections。 CodeConnections 可讓您建立和管理 AWS 資源與第三方儲存庫之間的連線,例如 GitHub。在第三方原始程式碼儲存庫上進行新的遞交時, 會啟動管道。來源動作會在手動執行管道或從來源提供者傳送 Webhook 事件時擷取程式碼變更。

您可以在管道中設定動作,以使用 Git 組態,讓您使用觸發程序啟動管道。若要設定管道觸發組態以使用觸發條件進行篩選,請參閱 中的更多詳細資訊程式碼推送或提取請求時篩選觸發條件

注意

此功能不適用於亞太區域 (香港)、亞太區域 (海德拉巴)、亞太區域 (雅加達)、亞太區域 (墨爾本)、亞太區域 (大阪)、非洲 (開普敦)、中東 (巴林)、中東 (UAE)、歐洲 (西班牙)、歐洲 (蘇黎世)、以色列 (特拉維夫) 或 AWS GovCloud (美國西部) 區域。若要參考其他可用的動作,請參閱 與 的產品和服務整合 CodePipeline。如需歐洲 (米蘭) 區域中此動作的考量事項,請參閱中的備註CodeStarSourceConnection 適用於 Bitbucket Cloud GitHub、 GitHub Enterprise Server、 GitLab.com 和 GitLab 自我管理動作。

連線可以將 AWS 資源與下列第三方儲存庫建立關聯:

  • Bitbucket Cloud (透過 CodePipeline 主控台中的 Bitbucket 提供者選項或 中的Bitbucket提供者CLI)

    注意

    您可以建立連至 Bitbucket Cloud 儲存庫的連線。不支援安裝式 Bitbucket 供應商類型,例如 Bitbucket 伺服器。

  • 注意

    如果您使用的是 Bitbucket 工作區,您必須具有管理員存取權才能建立連線。

  • GitHub 和 GitHub Enterprise Cloud (透過 CodePipeline 主控台中的 GitHub (第 2 版) 提供者選項或 中的GitHub提供者CLI)

    注意

    如果您的儲存庫位於 GitHub 組織中,您必須是組織擁有者才能建立連線。如果您使用的儲存庫不在組織中,您必須是儲存庫擁有者。

  • GitHub 企業伺服器 (透過 CodePipeline 主控台中的GitHub 企業伺服器提供者選項或 中的GitHub Enterprise Server提供者CLI)

  • GitLab.com (透過主控台中的GitLab CodePipeline提供者選項或 中的GitLab提供者CLI)

    注意

    您可以建立與儲存庫的連線,其中您在 中具有擁有者角色 GitLab,然後該連線可與儲存庫搭配使用,並搭配 資源,例如 CodePipeline。如果是群組中的儲存庫,您不需要為群組擁有者。

  • GitLab (Enterprise Edition 或 Community Edition) 的自我管理安裝 (透過主控台中的 CodePipelineGitLab 自我管理提供者選項或 中的GitLabSelfManaged提供者CLI)

注意

每個連線都支援您與該提供者擁有的所有儲存庫。您只需為每個提供者類型建立新的連線。

連線可讓您的管道透過第三方供應商的安裝應用程式偵測來源變更。例如,Webhook 用於訂閱 GitHub 事件類型,並且可以安裝在組織、儲存庫或 GitHub 應用程式上。您的連線會在訂閱 GitHub 推送類型事件 GitHub 的應用程式上安裝儲存庫 Webhook。

偵測到程式碼變更之後,您有下列選擇將程式碼傳遞給後續動作:

  • 預設:與其他現有的 CodePipeline 來源動作一樣, CodeStarSourceConnection可以輸出具有遞交之淺複本ZIP的檔案。

  • 完全複製:CodeStarSourceConnection也可以設定 來輸出對儲存庫的URL參考以供後續動作使用。

    目前,Git URL參考只能由下游 CodeBuild 動作用來複製儲存庫和相關聯的 Git 中繼資料。嘗試將 Git URL參考傳遞至非CodeBuild 動作會導致錯誤。

CodePipeline 當您建立連線時, 會提示您將 AWS Connector 安裝應用程式新增至第三方帳戶。您必須先建立第三方供應商帳戶和儲存庫,才能透過 CodeStarSourceConnection動作進行連線。

注意

若要使用連線 AWS CodeStar 所需的許可來建立或連接政策至您的角色,請參閱連線許可參考 。根據您的 CodePipeline 服務角色建立的時間,您可能需要更新其許可以支援 AWS CodeStar 連線。如需說明,請參閱 將許可新增至 CodePipeline 服務角色

注意

若要在歐洲 (米蘭) 使用連線 AWS 區域,您必須:

  1. 安裝區域特定的應用程式

  2. 啟用區域

此區域特定的應用程式支援歐洲 (米蘭) 區域中的連線。它會在第三方供應商網站上發佈,並且它會與支援其他區域連線的現有應用程式分開。透過安裝此應用程式,您授權第三方提供商僅使用該區域服務來共用您的資料,並且您可以透過解除安裝該應用程式來隨時撤銷許可。

除非您啟用區域,否則服務不會處理或儲存您的資料。啟用此區域,即表示您授予我們服務許可來處理和儲存您的資料。

即使未啟用該區域,如果仍已安裝區域特定的應用程式,第三方供應商仍然可以使用我們的服務來共用您的資料,因此請確保在停用該區域後解除安裝該應用程式。如需詳細資訊,請參閱啟用區域

動作類型

  • 類別:Source

  • 擁有者:AWS

  • 提供者:CodeStarSourceConnection

  • 版本:1

組態參數

ConnectionArn

必要:是

為來源提供者ARN設定並驗證的連線。

FullRepositoryId

必要:是

要偵測來源變更的儲存庫的擁有者和名稱。

範例:some-user/my-repo

重要

您必須維護該FullRepositoryId值的正確大小寫。例如,如果您的使用者名稱為 some-user,而儲存庫名稱為 My-Repo,則建議值FullRepositoryIdsome-user/My-Repo

BranchName

必要:是

要偵測來源變更的分支名稱。

OutputArtifactFormat

必要:否

指定輸出成品格式。可以是 CODEBUILD_CLONE_REFCODE_ZIP。如果未指定,預設值為 CODE_ZIP

重要

CODEBUILD_CLONE_REF 選項只能由 CodeBuild下游動作使用。

如果您選擇此選項,您將需要更新 CodeBuild 專案服務角色的許可,如 所示新增 Bitbucket、 GitHub GitHub Enterprise Server 或 GitLab.com 連線的 CodeBuild GitClone 許可。如需示範如何使用完整複製選項的教學課程,請參閱 教學課程:搭配 GitHub 管道來源使用完整複製

DetectChanges

必要:否

在已設定儲存庫和分支上進行新的遞交時,控制項會自動啟動管道。如果未指定,預設值為 true,且欄位預設不會顯示。此參數的有效值:

  • true: CodePipeline 自動在新遞交上啟動管道。

  • false: CodePipeline 不會在新遞交上啟動管道。

Input artifacts (輸入成品)

  • 成品數量: 0

  • 描述:輸入成品不適用於此動作類型。

輸出成品

  • 成品數量: 1

  • 描述:從儲存庫產生的成品是 CodeStarSourceConnection 動作的輸出成品。原始程式碼遞交 ID 會在 中顯示 CodePipeline 為觸發管道執行的來源修訂版。您可以在下列項目中設定此動作的輸出成品:

    • 包含在指定為管道執行來源修訂的遞交上所設定儲存庫和分支的內容ZIP的檔案。

    • 包含對儲存庫的URL參考,以便下游動作可以直接執行 Git 命令JSON的檔案。

      重要

      此選項只能由 CodeBuild 下游動作使用。

      如果您選擇此選項,您將需要更新 CodeBuild 專案服務角色的許可,如 所示故障診斷 CodePipeline。如需示範如何使用完整複製選項的教學課程,請參閱 教學課程:搭配 GitHub 管道來源使用完整複製

輸出變數

設定時,此動作會產生變數,供管道中的下游動作的動作組態所參考。即使此動作沒有命名空間,此動作產生的變數仍可視為輸出變數。您可以設定動作的命名空間,讓這些變數可供下游動作的組態使用。

如需詳細資訊,請參閱變數參考

AuthorDate

遞交的撰寫日期 (時間戳記格式)。

BranchName

進行來源變更的 儲存庫分支的名稱。

CommitId

觸發管道執行的 遞交 ID。

CommitMessage

與觸發管道執行的遞交相關聯的描述訊息 (如果有的話)。

ConnectionArn

為來源提供者ARN設定並驗證的連線。

FullRepositoryName

進行遞交以觸發管道的 儲存庫的名稱。

動作宣告

在下列範例中,輸出成品會設定為CODE_ZIP與 連線的預設ZIP格式 ARN arn:aws:codestar-connections:region:account-id:connection/connection-id

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: AWS Category: Source Provider: CodeStarSourceConnection OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: ConnectionArn: "arn:aws:codestar-connections:region:account-id:connection/connection-id" FullRepositoryId: "some-user/my-repo" BranchName: "main" OutputArtifactFormat: "CODE_ZIP" Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "AWS", "Category": "Source", "Provider": "CodeStarSourceConnection" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "ConnectionArn": "arn:aws:codestar-connections:region:account-id:connection/connection-id", "FullRepositoryId": "some-user/my-repo", "BranchName": "main", "OutputArtifactFormat": "CODE_ZIP" }, "Name": "ApplicationSource" } ] },

安裝安裝應用程式並建立連線

第一次使用主控台將新連線新增至第三方儲存庫時,您必須授權 CodePipeline 存取您的儲存庫。您可以選擇或建立安裝應用程式,以協助連線至您用來建立第三方程式碼儲存庫的帳戶。

使用 AWS CLI 或 AWS CloudFormation 範本時,您必須提供已通過安裝交握ARN的連線連線。否則不會觸發管道。

注意

對於CodeStarSourceConnection來源動作,您不需要設定 Webhook 或預設輪詢。連線動作會為您管理來源變更偵測。

以下相關資源可協助您使用此動作。

  • AWS::CodeStarConnections::Connection – AWS CodeStar Connections 資源的 AWS CloudFormation 範本參考提供 AWS CloudFormation 範本中連線的參數和範例。

  • AWS CodeStar 連線API參考AWS CodeStar 連線API參考提供可用連線動作的參考資訊。

  • 若要檢視使用連線支援的來源動作建立管道的步驟,請參閱以下內容:

    • 對於 Bitbucket Cloud,請使用主控台中的 Bitbucket 選項或 中的CodestarSourceConnection動作CLI。請參閱 Bitbucket Cloud 連線

    • 對於 GitHub 和 GitHub Enterprise Cloud,請使用主控台中的GitHub提供者選項或 中的CodestarSourceConnection動作CLI。請參閱 GitHub 連線

    • 對於 GitHub Enterprise Server,請使用主控台中的 GitHub Enterprise Server 提供者選項或 中的CodestarSourceConnection動作CLI。請參閱 GitHub 企業伺服器連線

    • 在 GitLab.com 中,使用主控台中的GitLab提供者選項,或在 中使用 CodestarSourceConnection動作與GitLab提供者CLI。請參閱 GitLab.com 連線

  • 若要檢視使用 Bitbucket 來源和 CodeBuild 動作建立管道的入門教學課程,請參閱連線入門

  • 如需教學課程,說明如何連線至 GitHub 儲存庫,並搭配下游 CodeBuild 動作使用完整複製選項,請參閱 教學課程:搭配 GitHub 管道來源使用完整複製