翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
パイプラインレベルおよびメタデータレベルのパイプラインには、以下のパラメータと構文を含む基本構造があります。パイプラインパラメータは、パイプラインで実行するアクションとステージの構造を表します。
詳細については、「CodePipeline API ガイド」の「PipelineDeclaration」オブジェクトを参照してください。
次の例は、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'
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
パイプライン実行モードを設定すると、キュー、優先、並列モードでの実行など、連続した実行のパイプライン動作を指定できます。詳細については、「パイプライン実行モードを設定または変更する」を参照してください。
重要
PARALLEL モードのパイプラインでは、ステージのロールバックは使用できません。同様に、ロールバック結果タイプの障害条件を PARALLEL モードパイプラインに追加することはできません。
pipelineType
パイプラインタイプは、V2 タイプのパイプラインなど、パイプラインで利用可能な構造と機能を指定します。詳細については、「パイプラインのタイプ」を参照してください。
variables
パイプラインレベルの変数は、パイプラインの作成時に定義され、パイプラインの実行時に解決されます。詳細については、「変数リファレンス」を参照してください。パイプラインの実行時に渡されるパイプラインレベルの変数のチュートリアルについては、「チュートリアル: パイプラインレベルの変数を使用する」を参照してください。
triggers
トリガーを使用すると、特定のブランチやプルリクエストの変更を検出したときなど、特定のイベントタイプやフィルタリングされたイベントタイプに応じて開始するようにパイプラインを設定できます。トリガーは、GitHub、Bitbucket、GitLab など、CodePipeline の CodeStarSourceConnection
アクションを実行する接続を使用するソースアクションに対して設定できます。接続を使用するソースアクションの詳細については、「CodeConnections を使用してパイプラインにサードパーティーのソースプロバイダーを追加する」を参照してください。
詳細と詳細な例については、「」を参照してくださいトリガーとフィルタリングを使用してパイプラインを自動的に開始する。
フィルタリングでは、「構文での glob パターンの使用」で詳述しているように、正規表現パターンを glob 形式でサポートしています。
注記
CodeCommit および S3 ソースアクションには、設定済みの変更検出リソース (EventBridge ルール)、またはオプションを使用してソースの変更をリポジトリにポーリングする必要があります。Bitbucket、GitHub、または GitHub Enterprise Server のソースアクションを持つパイプラインの場合、ウェブフックを設定したり、デフォルトでポーリングを行う必要はありません。接続アクションは、変更検出を管理します。
gitConfiguration
フィールド
イベントタイプや、ブランチ、ファイルパス、タグ、プルリクエストイベントでフィルタリングするためのパラメータなど、トリガーの Git 設定。
JSON 構造内のフィールドの定義は以下のとおりです。
-
sourceActionName
: Git 設定のパイプラインソースアクションの名前。 -
push
: フィルタリングを含むプッシュイベント。これらのイベントは、異なるプッシュフィルター間では OR 演算を使用し、フィルター内では AND 演算を使用します。-
branches
: フィルタリングするブランチ。ブランチは、[含める] と [除外する] の間で AND 演算を使用します。-
includes
: 含めるブランチをフィルタリングするパターン。[含める] では OR 演算を使用します。 -
excludes
: 除外するブランチをフィルタリングするパターン。[除外する] では OR 演算を使用します。
-
-
filePaths
: フィルタリングするファイルパス名。-
includes
: 含めるファイルパスをフィルタリングするパターン。[含める] では OR 演算を使用します。 -
excludes
: 除外するファイルパスをフィルタリングするパターン。[除外する] では OR 演算を使用します。
-
-
tags
: フィルタリングするタグ名。-
includes
: 含めるタグをフィルタリングするパターン。[含める] では OR 演算を使用します。 -
excludes
: 除外するタグをフィルタリングするパターン。[除外する] では OR 演算を使用します。
-
-
-
pullRequest
: プルリクエストイベントとプルリクエストフィルターのフィルタリングを含むプルリクエストイベント。-
events
: オープン、更新、またはクローズしたプルリクエストイベントを指定どおりにフィルタリングします。 -
branches
: フィルタリングするブランチ。ブランチは、[含める] と [除外する] の間で AND 演算を使用します。-
includes
: 含めるブランチをフィルタリングするパターン。[含める] では OR 演算を使用します。 -
excludes
: 除外するブランチをフィルタリングするパターン。[除外する] では OR 演算を使用します。
-
-
filePaths
: フィルタリングするファイルパス名。-
includes
: 含めるファイルパスをフィルタリングするパターン。[含める] では OR 演算を使用します。 -
excludes
: 除外するファイルパスをフィルタリングするパターン。[除外する] では OR 演算を使用します。
-
-
プッシュリクエストイベントタイプとプルリクエストイベントタイプのトリガー設定の例を次に示します。
"triggers": [
{
"provider": "Connection",
"gitConfiguration": {
"sourceActionName": "ApplicationSource",
"push": [
{
"filePaths": {
"includes": [
"projectA/**",
"common/**/*.js"
],
"excludes": [
"**/README.md",
"**/LICENSE",
"**/CONTRIBUTING.md"
]
},
"branches": {
"includes": [
"feature/**",
"release/**"
],
"excludes": [
"mainline"
]
},
"tags": {
"includes": [
"release-v0", "release-v1"
],
"excludes": [
"release-v2"
]
}
}
],
"pullRequest": [
{
"events": [
"CLOSED"
],
"branches": {
"includes": [
"feature/**",
"release/**"
],
"excludes": [
"mainline"
]
},
"filePaths": {
"includes": [
"projectA/**",
"common/**/*.js"
],
"excludes": [
"**/README.md",
"**/LICENSE",
"**/CONTRIBUTING.md"
]
}
}
]
}
}
],
include と exclude のイベントタイプpush
フィールド
プッシュイベントタイプの Git 設定フィールドのレベルに対する含める動作と除外動作を次のリストに示します。
push
(OR operation is used between push and pullRequest or multiples)
filePaths(AND operation is used between filePaths, branches, and tags)
includes(AND operation is used between includes and excludes)
**/FILE.md, **/FILE2(OR operation is used between file path names)
excludes(AND operation is used between includes and excludes)
**/FILE.md, **/FILE2(OR operation is used between file path names)
branches(AND operation is used between filePaths, branches, and tags)
includes(AND operation is used between includes and excludes)
BRANCH/**", "BRANCH2/**(OR operation is used between branch names)
excludes(AND operation is used between includes and excludes)
BRANCH/**", "BRANCH2/**(OR operation is used between branch names)
tags(AND operation is used between filePaths, branches, and tags)
includes(AND operation is used between includes and excludes)
TAG/**", "TAG2/**(OR operation is used between tag names)
excludes(AND operation is used between includes and excludes)
TAG/**", "TAG2/**(OR operation is used between tag names)
include および exclude のイベントタイプpull request
フィールド
プルリクエストイベントタイプの Git 設定フィールドレベルの包含および除外動作を次のリストに示します。
pullRequest
(OR operation is used between push and pullRequest or multiples)
events(AND operation is used between events, filePaths, and branches)
. Includes/excludes are N/A for pull request events. filePaths(AND operation is used between events, filePaths, and branches)
includes(AND operation is used between includes and excludes)
**/FILE.md, **/FILE2(OR operation is used between file path names)
excludes(AND operation is used between includes and excludes)
**/FILE.md, **/FILE2(OR operation is used between file path names)
branches(AND operation is used between events, filePaths, and branches)
includes(AND operation is used between includes and excludes)
BRANCH/**", "BRANCH2/**(OR operation is used between branch names)
excludes(AND operation is used between includes and excludes)
BRANCH/**", "BRANCH2/**(OR operation is used between branch names)
metadata
パイプラインメタデータフィールドはパイプライン構造とは異なり、編集することはできません。パイプラインを更新すると、updated
メタデータフィールドの日付が自動的に変更されます。
pipelineArn
パイプラインの Amazon リソースネーム (ARN)。
コンソールを使用して、JSON 構造ではなくパイプライン ARN を表示するには、コンソールでパイプラインを選択し、[設定] を選択します。[全般] タブに、[パイプライン ARN] フィールドが表示されます。
created
パイプラインの作成日時。
updated
パイプラインの最終更新日時。