パイプライン宣言 - AWS CodePipeline

パイプライン宣言

パイプラインレベルおよびメタデータレベルのパイプラインには、以下のパラメータと構文を含む基本構造があります。パイプラインパラメータは、パイプラインで実行するアクションとステージの構造を表します。

詳細については、「CodePipeline API ガイド」の「PipelineDeclaration」オブジェクトを参照してください。

次の例は、V2 タイプのパイプラインについて、パイプラインレベルおよびメタデータレベルのパイプライン構造を JSON と YAML の両方で示しています。

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

パイプラインの名前。パイプラインを編集または更新する場合、パイプライン名は変更できません。

注記

既存のパイプラインの名前を変更するには、CLI get-pipeline コマンドを使用して、パイプライン構造を含む JSON ファイルを作成します。次に、CLI create-pipeline コマンドを使用してその構造を持つ新しいパイプラインを作成し、新しい名前を付けます。

roleArn

CodePipeline サービスロールの IAM ARN (arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role など)。

コンソールを使用して、JSON 構造ではなくパイプラインサービスロール ARN を表示するには、コンソールでパイプラインを選択し、[設定] を選択します。[全般] タブに、[サービスロール ARN] フィールドが表示されます。

artifactStore または artifactStores

この artifactStore フィールドには、同じ AWS リージョン内のすべてのアクションを持つパイプラインのアーティファクトバケットタイプと場所が含まれます。パイプラインとは異なるリージョンにアクションを追加すると、artifactStores マッピングを使用して、アクションが実行される各 AWS リージョンのアーティファクトバケットが一覧表示されます。パイプラインを作成または編集する場合は、パイプラインリージョンにアーティファクトバケットが必要であり、アクションを実行する予定のリージョンごとに 1 つのアーティファクトバケットが必要です。

注記

パイプライン構造では、パイプラインに artifactStore または artifactStores のどちらかを含める必要がありますが、両方を使用することはできません。パイプラインでクロスリージョンアクションを作成する場合は、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」オブジェクトを参照してください。

ステージのパイプライン構造には、以下の要件があります。

  • パイプラインには、少なくとも 2 つのステージが含まれている必要がある

  • パイプラインの最初のステージには、少なくとも 1 つのソースアクションが含まれている必要がある ソースアクションのみを含めることができる

  • ソースアクションを含むことができるのは、パイプラインの最初のステージのみである

  • 各パイプラインの少なくとも 1 つのステージに、ソースアクション以外のアクションが含まれている必要がある

  • パイプライン内のすべてのステージ名は一意である必要がある

  • ステージ名は、CodePipeline コンソール内で編集することはできません。AWS CLI を使用してステージ名を編集し、そのステージに 1 つ以上のシークレットパラメータ (OAuth トークンなど) を持つアクションが含まれる場合、そのシークレットパラメータの値は保持されません。パラメータ値 (AWS CLI よって返される JSON で、4 つのアスタリスクでマスクされている) は手動で入力し、JSON 構造に含める必要があります。

version

パイプラインのバージョン番号は自動的に生成され、パイプラインを更新するたびに更新されます。

executionMode

パイプライン実行モードを設定すると、キュー、優先、並列モードでの実行など、連続した実行のパイプライン動作を指定できます。詳細については、「パイプライン実行モードを設定または変更する」を参照してください。

pipelineType

パイプラインタイプは、V2 タイプのパイプラインなど、パイプラインで利用可能な構造と機能を指定します。詳細については、「パイプラインのタイプ」を参照してください。

variables

パイプラインレベルの変数は、パイプラインの作成時に定義され、パイプラインの実行時に解決されます。詳細については、「変数リファレンス」を参照してください。パイプラインの実行時に渡されるパイプラインレベルの変数のチュートリアルについては、「チュートリアル: パイプラインレベルの変数を使用する」を参照してください。

triggers

トリガーを使用すると、特定のブランチやプルリクエストの変更を検出したときなど、特定のイベントタイプやフィルタリングされたイベントタイプに応じて開始するようにパイプラインを設定できます。トリガーは、GitHub、Bitbucket、GitLab など、CodePipeline の CodeStarSourceConnection アクションを実行する接続を使用するソースアクションに対して設定できます。接続を使用するソースアクションの詳細については、「CodeConnections を使用してサードパーティのソースプロバイダーに接続する」を参照してください。

詳細については、「トリガーとフィルタリングを使用してパイプラインを自動的に開始する」を参照してください。

注記

CodeCommit および S3 ソースアクションには、設定済みの変更検出リソース (EventBridge ルール)、またはオプションを使用してソースの変更をリポジトリにポーリングする必要があります。Bitbucket、GitHub、または GitHub Enterprise Server のソースアクションを持つパイプラインの場合、ウェブフックを設定したり、デフォルトでポーリングを行う必要はありません。接続アクションは、変更検出を管理します。

metadata

パイプラインメタデータフィールドはパイプライン構造とは異なり、編集することはできません。パイプラインを更新すると、updated メタデータフィールドの日付が自動的に変更されます。

pipelineArn

パイプラインの Amazon リソースネーム (ARN)。

コンソールを使用して、JSON 構造ではなくパイプライン ARN を表示するには、コンソールでパイプラインを選択し、[設定] を選択します。[全般] タブに、[パイプライン ARN] フィールドが表示されます。

created

パイプラインの作成日時。

updated

パイプラインの最終更新日時。