CodeCommit 來源動作參考 - AWS CodePipeline

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

CodeCommit 來源動作參考

在已設定的 CodeCommit 儲存庫和分支上進行新的遞交時, 會啟動管道。

如果您使用主控台建立或編輯管道, 會 CodePipeline 建立 CodeCommit CloudWatch 事件規則,在儲存庫發生變更時啟動管道。

您必須先建立 CodeCommit 儲存庫,才能透過 CodeCommit 動作連接管道。

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

  • 預設 – 設定 CodeCommit 來源動作,以輸出具有遞交之淺複本ZIP的檔案。

  • 完全複製 – 設定來源動作,以將 Git URL參考輸出至儲存庫以進行後續動作。

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

動作類型

  • 類別:Source

  • 擁有者:AWS

  • 提供者:CodeCommit

  • 版本:1

組態參數

RepositoryName

必要:是

要偵測來源變更的儲存庫名稱。

BranchName

必要:是

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

PollForSourceChanges

必要:否

PollForSourceChanges 控制 是否 CodePipeline 輪詢 CodeCommit儲存庫以進行來源變更。建議您改用 CloudWatch Events 來偵測來源變更。如需設定 CloudWatch 事件的詳細資訊,請參閱 遷移輪詢管道 (CodeCommit 來源) (CLI)遷移輪詢管道 (CodeCommit 來源) (AWS CloudFormation 範本)

重要

如果您想要設定 CloudWatch 事件規則,您必須PollForSourceChanges將 設定為 false,以避免重複管道執行。

此參數的有效值:

  • true:如果已設定,請 CodePipeline 輪詢儲存庫以進行來源變更。

    注意

    如果您省略 PollForSourceChanges, CodePipeline 預設會輪詢儲存庫以進行來源變更。此行為同於包含 PollForSourceChanges 且設定為 true

  • false:如果設定, CodePipeline 不會輪詢儲存庫以進行來源變更。如果您想要設定 CloudWatch 事件規則來偵測來源變更,請使用此設定。

OutputArtifactFormat

必要:否

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

重要

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

如果您選擇此選項,則需要將codecommit:GitPull許可新增至您的 CodeBuild 服務角色,如 所示新增來源動作的 CodeBuild GitClone CodeCommit許可。您也需要將codecommit:GetRepository許可新增至您的 CodePipeline服務角色,如 所示將許可新增至 CodePipeline 服務角色。如需示範如何使用完整複製選項的教學課程,請參閱 教學課程:搭配 CodeCommit 管道來源使用完整複製

Input artifacts (輸入成品)

  • 成品數量: 0

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

輸出成品

  • 成品數量: 1

  • 描述:此動作的輸出成品是ZIP檔案,其中包含指定為管道執行來源修訂的 遞交上已設定儲存庫和分支的內容。從儲存庫產生的成品是 CodeCommit 動作的輸出成品。原始程式碼遞交 ID 會在 中顯示 CodePipeline 為觸發管道執行的來源修訂版。

輸出變數

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

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

CommitId

觸發管道執行的 CodeCommit 遞交 ID。保證IDs是承諾SHA的滿載。

CommitMessage

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

RepositoryName

觸發管道的遞交的 CodeCommit 儲存庫名稱。

BranchName

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

AuthorDate

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

CommitterDate

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

動作組態範例

預設輸出成品格式的範例

YAML
Actions: - OutputArtifacts: - Name: Artifact_MyWebsiteStack InputArtifacts: [] Name: source Configuration: RepositoryName: MyWebsite BranchName: main PollForSourceChanges: 'false' RunOrder: 1 ActionTypeId: Version: '1' Provider: CodeCommit Category: Source Owner: AWS Name: Source
JSON
{ "Actions": [ { "OutputArtifacts": [ { "Name": "Artifact_MyWebsiteStack" } ], "InputArtifacts": [], "Name": "source", "Configuration": { "RepositoryName": "MyWebsite", "BranchName": "main", "PollForSourceChanges": "false" }, "RunOrder": 1, "ActionTypeId": { "Version": "1", "Provider": "CodeCommit", "Category": "Source", "Owner": "AWS" } } ], "Name": "Source" },

完整複製輸出成品格式的範例

YAML
name: Source actionTypeId: category: Source owner: AWS provider: CodeCommit version: '1' runOrder: 1 configuration: BranchName: main OutputArtifactFormat: CODEBUILD_CLONE_REF PollForSourceChanges: 'false' RepositoryName: MyWebsite outputArtifacts: - name: SourceArtifact inputArtifacts: [] region: us-west-2 namespace: SourceVariables
JSON
{ "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "runOrder": 1, "configuration": { "BranchName": "main", "OutputArtifactFormat": "CODEBUILD_CLONE_REF", "PollForSourceChanges": "false", "RepositoryName": "MyWebsite" }, "outputArtifacts": [ { "name": "SourceArtifact" } ], "inputArtifacts": [], "region": "us-west-2", "namespace": "SourceVariables" }

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