管道宣告 - AWS CodePipeline

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

管道宣告

管道的管道和中繼資料層級具有基本結構,其中包含下列參數和語法。管道參數代表要在管道中執行的動作和階段結構。

如需詳細資訊,請參閱 CodePipeline API指南 中的 PipelineDeclaration 物件。

下列範例顯示 和 YAML V2 類型管道中管道結構的管道JSON和中繼資料層級。

YAML
pipeline: name: MyPipeline roleArn: >- arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline artifactStore: type: S3 location: amzn-s3-demo-bucket stages: ... version: 6 executionMode: SUPERSEDED pipelineType: V2 variables: - name: MyVariable defaultValue: '1' triggers: - providerType: CodeStarSourceConnection gitConfiguration: sourceActionName: Source push: - branches: includes: - main excludes: - feature-branch pullRequest: - events: - CLOSED branches: includes: - main* metadata: pipelineArn: 'arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline' created: '2019-12-12T06:49:02.733000+00:00' updated: '2020-09-10T06:34:07.447000+00:00'
JSON
{ "pipeline": { "name": "MyPipeline", "roleArn": "arn:aws:iam::ACCOUNT_ID:role/service-role/AWSCodePipelineServiceRole-us-west-2-MyPipeline", "artifactStore": { "type": "S3", "location": "amzn-s3-demo-bucket" }, "stages": { ... }, "version": 6, "executionMode": "SUPERSEDED", "pipelineType": "V2", "variables": [ { "name": "MyVariable", "defaultValue": "1" } ], "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "branches": { "includes": [ "main" ], "excludes": [ "feature-branch" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "main*" ] } } ] } } ] }, "metadata": { "pipelineArn": "arn:aws:codepipeline:us-west-2:ACCOUNT_ID:MyPipeline", "created": "2019-12-12T06:49:02.733000+00:00", "updated": "2020-09-10T06:34:07.447000+00:00" } }

name

管道名稱。當您編輯或更新管道時,管道名稱無法更改。

注意

如果您想要重新命名現有的管道,您可以使用 CLIget-pipeline命令來建置包含管道結構JSON的檔案。然後,您可以使用 CLIcreate-pipeline命令來建立具有該結構的管道,並為其命名。

roleArn

CodePipeline 服務角色IAMARN的 ,例如 arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role。

若要使用主控台檢視管道服務角色,ARN而非JSON結構,請在主控台中選擇管道,然後選擇設定 。在一般索引標籤下,會顯示服務角色ARN欄位。

artifactStoreartifactStores

artifactStore 欄位包含具有相同 AWS 區域中所有動作之管道的成品儲存貯體類型和位置。如果您在與管道不同的 區域中新增動作,則artifactStores映射會用來列出執行動作的每個 AWS 區域的成品儲存貯體。當您建立或編輯管道時,您必須在管道區域中擁有一個成品儲存貯體,然後對於每個您計劃執行動作的區域,都必須擁有一個成品儲存貯體。

注意

在管道結構中,您必須在管道artifactStores中包含 artifactStore或 ,但不能同時使用兩者。如果您在管道中建立跨區域動作,即必須使用 artifactStores

以下範例顯示管道的基本結構,具有使用 artifactStores 參數的跨區域動作:

"pipeline": { "name": "YourPipelineName", "roleArn": "CodePipeline_Service_Role", "artifactStores": { "us-east-1": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" }, "us-west-2": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" } }, "stages": [ { ...

type

成品儲存貯體的位置類型,指定為 Amazon S3。

location

當您第一次使用主控台建立管道時,Amazon S3 儲存貯體的名稱會自動為您產生,例如 codepipeline-us-east-2-1234567890,或您為此目的佈建的任何 Amazon S3 儲存貯體

stages

此參數包含管道中每個階段的名稱。如需管道結構階段層級參數和語法的詳細資訊,請參閱 CodePipeline API指南 中的 StageDeclaration 物件。

階段的管道結構具有下列需求:

  • 管道必須包含至少兩個階段。

  • 管道的第一階段必須包含至少一項來源動作。它只能包含來源動作。

  • 只有管道的第一個階段可包含來源動作。

  • 各管道至少要有一個階段,包含不是來源動作的動作。

  • 管道中的所有階段名稱必須是唯一的。

  • 無法在 CodePipeline 主控台中編輯階段名稱。如果您使用 編輯階段名稱 AWS CLI,且該階段包含具有一或多個秘密參數 (例如OAuth權杖) 的動作,則不會保留這些秘密參數的值。您必須手動輸入參數的值 (由 JSON傳回的 中四個星號遮罩 AWS CLI),並將其包含在JSON結構中。

version

管道的版本編號將會自動產生,並在每次您更新管道時更新。

executionMode

您可以設定管道執行模式,以便指定連續執行的管道行為,例如佇列、取代或平行執行模式。如需詳細資訊,請參閱設定或變更管道執行模式

pipelineType

管道類型指定管道中可用的結構和功能,例如 V2 類型管道。如需詳細資訊,請參閱管道類型

variables

管道層級的變數是在管道執行階段建立和解決管道時定義的。如需詳細資訊,請參閱變數參考。如需在管道執行時傳遞具有管道層級變數的教學課程,請參閱 教學課程:使用管道層級變數

triggers

觸發條件可讓您設定管道以啟動特定事件類型或篩選的事件類型,例如偵測到特定分支或提取請求的變更時。觸發程序可設定來源動作,其連線使用 中的 CodeStarSourceConnection動作 CodePipeline,例如 GitHub、Bitbucket 和 GitLab。如需使用連線之來源動作的詳細資訊,請參閱 Connect 到第三方來源供應商,使 CodeConnections

如需詳細資訊,請參閱使用觸發條件和篩選來自動化啟動管道

注意

CodeCommit 和 S3 來源動作需要設定的變更偵測資源 ( EventBridge 規則),或使用 選項輪詢儲存庫以進行來源變更。對於具有 Bitbucket GitHub或 GitHub Enterprise Server 來源動作的管道,您不需要設定 Webhook 或預設輪詢。連線動作會為您管理變更偵測。

metadata

管道中繼資料欄位與管道結構不同,且無法編輯。當您更新管道時,updated​ 中繼資料欄位中的日期將會自動更改。

pipelineArn

管道的 Amazon Resource Name (ARN)。

若要使用主控台檢視管道,ARN而非JSON結構,請在主控台中選擇管道,然後選擇設定 。在一般索引標籤下,會顯示管道ARN欄位。

created

建立管道的日期和時間。

updated

管道上次更新的日期和時間。