

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodePipeline でパイプラインを編集する
<a name="pipelines-about-starting"></a>

各パイプライン実行はそれぞれ異なるトリガーに基づいて開始できます。各パイプライン実行には、パイプラインの開始方法に応じて、それぞれ異なるタイプのトリガーを設定できます。各実行のトリガータイプはパイプラインの実行履歴に表示されます。トリガータイプは以下のようにソースアクションプロバイダーによって異なります。

**注記**  
ソースアクションごとに複数のトリガーを指定することはできません。
+ **パイプラインの作成**: パイプラインが作成されると、パイプライン実行が自動的に開始されます。これは**実行履歴**では `CreatePipeline` トリガータイプです。
+ **修正されたオブジェクトの変更**: このカテゴリは **実行履歴**で `PutActionRevision` トリガータイプを表します。
+ **コードプッシュに対するブランチとコミットの変更検出**: このカテゴリは**実行履歴**で `CloudWatchEvent` トリガータイプを表します。ソースリポジトリ内のソースコミットとブランチに対する変更が検出されると、パイプラインが開始されます。このトリガータイプは自動変更検出を使用します。このトリガータイプを使用するソースアクションプロバイダーは S3 と CodeCommit です。このタイプは、パイプラインを開始するスケジュールにも使用されます。「[スケジュールに基づいたパイプラインの開始](pipelines-trigger-source-schedule.md)」を参照してください。
+ **ソース変更のポーリング**: このカテゴリは**実行履歴**で `PollForSourceChanges` トリガータイプを表します。ポーリングによりソースリポジトリ内のソースコミットとブランチに対する変更が検出されると、パイプラインが開始されます。このトリガータイプは推奨されないため、自動変更検出を使用するように移行する必要があります。このトリガータイプを使用するソースアクションプロバイダーは S3 と CodeCommit です。
+ **サードパーティーソースに対する Webhook イベント**: このカテゴリは**実行履歴**で `Webhook` トリガータイプを表します。Webhook イベントによって変更が検出されると、パイプラインが開始されます。このトリガータイプは自動変更検出を使用します。このトリガータイプを使用するソースアクションプロバイダーは、コードプッシュ用に設定された接続 (Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com、GitLab セルフマネージド) です。
+ **サードパーティーソースに対する WebhookV2 イベント**: このカテゴリは**実行履歴**で `WebhookV2` トリガータイプを表します。このタイプは、パイプライン定義に含まれるトリガーに基づいて実行されます。指定した Git タグを含むリリースが検出されると、パイプラインが開始されます。Git タグを使用すると、名前などの識別子でコミットをマークし、その重要性を他のリポジトリユーザーに強調できます。また、Git タグを使用してリポジトリの履歴にある特定のコミットを識別することもできます。このトリガータイプは自動変更検出を無効にします。このトリガータイプを使用するソースアクションプロバイダーは、Git タグ用に設定された接続 (Bitbucket Cloud、GitHub、GitHub Enterprise Server、GitLab.com) です。
+ **パイプラインの手動開始**: このカテゴリは**実行履歴**で `StartPipelineExecution` トリガータイプを表します。コンソールまたは を使用して AWS CLI 、パイプラインを手動で開始できます。詳細については、「[パイプラインを手動で開始する](pipelines-rerun-manually.md)」を参照してください。
+ **RollbackStage**: このカテゴリは**実行履歴**で `RollbackStage` トリガータイプを表します。コンソールまたは を使用して AWS CLI 、ステージを手動でまたは自動的にロールバックできます。詳細については、「[ステージロールバックの設定](stage-rollback.md)」を参照してください。

自動変更検出トリガータイプを使用するソースアクションをパイプラインに追加すると、そのアクションは追加のリソースと連携して動作します。各ソースアクションの作成については、変更検出のためのこれらの追加のリソースのため、別のセクションで詳しく説明します。自動変更検出に必要な各ソースプロバイダーと変更検出方法の詳細については、「[ソースアクションと変更検出方法](change-detection-methods.md)」を参照してください。

**Topics**
+ [パイプラインを手動で開始する](pipelines-rerun-manually.md)
+ [スケジュールに基づいたパイプラインの開始](pipelines-trigger-source-schedule.md)
+ [ソースリビジョンオーバーライドでパイプラインを開始する](pipelines-trigger-source-overrides.md)

# パイプラインを手動で開始する
<a name="pipelines-rerun-manually"></a>

デフォルトでは、パイプラインは作成時に自動で開始され、その後ソースリポジトリ内で変更があるたびに自動的に開始されます。ただし、再度パイプラインを通して、最新のリビジョンを再実行する場合があります。パイプラインを通して、最新のリビジョンを手動で再実行するには、CodePipeline コンソールまたは AWS CLI と **start-pipeline-execution** コマンドを使用します。

**Topics**
+ [パイプラインを手動で開始する (コンソール)](#pipelines-rerun-manually-console)
+ [パイプラインを手動で開始する (CLI)](#pipelines-rerun-manually-cli)

## パイプラインを手動で開始する (コンソール)
<a name="pipelines-rerun-manually-console"></a>

**パイプラインを手動で開始し、最新のリビジョンをパイプラインにより実行するには**

1. にサインイン AWS マネジメントコンソール し、[http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) で CodePipeline コンソールを開きます。

1. [**Name**] で、開始するパイプラインの名前を選択します。

1. パイプラインの詳細ページで、[**Release change**] を選択します。パイプラインがパラメータ (パイプライン変数) を渡すように設定されている場合、[**変更のリリース**] を選択すると、[**変更のリリース**] ウィンドウが開きます。[**パイプライン変数**] で、パイプラインレベルの変数のフィールドに、このパイプライン実行に渡す値を入力します。詳細については、「[変数リファレンス](reference-variables.md)」を参照してください。

   これにより、ソースアクションで指定した各ソース場所における最新のリビジョンがパイプラインにより開始されます。

## パイプラインを手動で開始する (CLI)
<a name="pipelines-rerun-manually-cli"></a>

**パイプラインを手動で開始し、アーティファクトの最新バージョンをパイプラインにより実行するには**

1. ターミナル (Linux、macOS、または Unix) またはコマンドプロンプト (Windows) を開き、 AWS CLI を使用して **start-pipeline-execution** コマンドを実行し、開始するパイプラインの名前を指定します。たとえば、[*MyFirstPipeline*] という名前のパイプラインにより最後の変更を実行するには、以下のようにします。

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline
   ```

   パイプラインレベルの変数が設定されているパイプラインを開始するには、**start-pipeline-execution** コマンドにオプションの **--variables** 引数を使用してパイプラインを開始し、実行で使用される変数を追加します。例えば、値が `1` の変数 `var1` を追加するには、以下のコマンドを使用します。

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline --variables name=var1,value=1 
   ```

1. 成功したかどうかを確認するには、返されたオブジェクトを表示します。このコマンドでは、以下のような 実行 ID が返ります。

   ```
   {
       "pipelineExecutionId": "c53dbd42-This-Is-An-Example"
   }
   ```
**注記**  
パイプラインを開始したら、CodePipeline コンソールで、または **get-pipeline-state** コマンドを実行して、進行状況をモニタリングできます。詳細については、「[パイプラインを表示する (コンソール)](pipelines-view-console.md)」および「[パイプラインの詳細と履歴を表示する (CLI)](pipelines-view-cli.md)」を参照してください。

# スケジュールに基づいたパイプラインの開始
<a name="pipelines-trigger-source-schedule"></a>

EventBridge でルールを設定して、スケジュールに基づいてパイプラインを開始することができます。

## パイプラインを開始するスケジュールの EventBridge ルールを作成する (コンソール)
<a name="pipelines-trigger-source-schedule-console"></a>

**スケジュールをイベントソースとする EventBridge ルールを作成するには**

1. Amazon EventBridge コンソール ([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)) を開きます。

1. ナビゲーションペインで **[ルール]** を選択します。

1. [**ルールの作成**] を選択してから、[**ルールの詳細**] で [**スケジュール**] を選択します。

1. 一定間隔または式を使用してスケジュールを設定します。詳細については、「[ルールのスケジュール式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html)」を参照してください。

1. [**ターゲット**] で、[**CodePipeline**] を選択します。

1. このスケジュールのパイプラインを実行するには、パイプライン ARN を入力します。
**注記**  
パイプライン ARN は、コンソールの [**設定**] に表示されます。「[パイプラインの ARN とサービスロール ARN (コンソール) を表示します。](pipelines-settings-console.md)」を参照してください。

1. 次のいずれかを選択して、EventBridge ルールに関連付けられたターゲットを呼び出すためのアクセス許可を EventBridge に与える IAM サービスロールを作成または指定します (この場合、ターゲットは CodePipeline)。
   + パイプラインの実行を開始するためのアクセス許可を EventBridge に与えるサービスロールを作成するには、[**この特定のリソースに対して新しいロールを作成する**] を選択します。
   + パイプラインの実行を開始するためのアクセス許可を EventBridge に付与するサービスロールを指定するには、[**既存のロールの使用**] を選択します。

1. [**詳細の設定**] を選択します。

1. [**Configure rule details**] ページでルールの名前と説明を入力してから、[**State**] を選択してルールを有効化します。

1. ルールが適切であることを確認したら、[**Create rule**] を選択します。

## パイプラインを開始するスケジュールの EventBridge ルールを作成する (CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

を使用してルール AWS CLI を作成するには、 **put-rule** コマンドを呼び出し、以下を指定します。
+ 作成中のルールを一意に識別する名前。この名前は、 AWS アカウントに関連付けられた CodePipeline で作成するすべてのパイプラインで一意である必要があります。
+ ルールのためのスケジュール式。

**スケジュールをイベントソースとする EventBridge ルールを作成するには**

1. **put-rule** コマンドを呼び出し、`--name ` と `--schedule-expression` パラメータを含めます。

   例:

   以下のサンプルコマンドでは、**--schedule-expression** を使用して、スケジュールに従って EventBridge をフィルタ処理する `MyRule2` という名前のルールを作成します。

   ```
   aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
   ```

1. CodePipeline をターゲットとして追加するには、**put-targets** コマンドを呼び出し、次のパラメータを含めます。
   + `--rule` パラメータは、**put-rule** を使用して作成した `rule_name` で使用されます。
   + `--targets` パラメータは、ターゲットリストのリスト `Id` とターゲットパイプラインの `ARN` で使用されます。

   次のサンプルコマンドでは、`MyCodeCommitRepoRule` と呼ばれるルールに対して指定し、ターゲット `Id` は 1 番で構成されています。これは、ルールのターゲットのリストが何であるかを示し、この場合は ターゲット 1 です。このサンプルコマンドでは、パイプラインのサンプルの `ARN` も指定されます。パイプラインは、リポジトリ内に変更が加えられると開始します。

   ```
   aws events put-targets --rule MyCodeCommitRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
   ```

1. EventBridge が CodePipeline を使用してルールを呼び出すためのアクセス許可を付与します。詳細については、 デベロッパーガイドの [[Amazon EventBridge のリソースベースのポリシーを使用する](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html)] を参照してください。

   1. 次のサンプルを使用して、EventBridge にサービスロールの引き受けを許可する信頼ポリシーを作成します。このスクリプトに `trustpolicyforEB.json` という名前を付けます。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "events.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. 次のコマンドを使用して、`Role-for-MyRule` ロールを作成し、信頼ポリシーをアタッチします。

      ```
      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
      ```

   1. 次のサンプルに示すように、`MyFirstPipeline` というパイプラインに対して、アクセス権限ポリシー JSON を作成します。アクセス権限ポリシーに `permissionspolicyforEB.json` と名前を付けます。

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "codepipeline:StartPipelineExecution"
                  ],
                  "Resource": [
                      "arn:aws:codepipeline:us-west-2:111122223333:MyFirstPipeline"
                  ]
              }
          ]
      }
      ```

------

   1. 次のコマンドを実行して、作成した `Role-for-MyRule` ロールに新しい `CodePipeline-Permissions-Policy-for-EB` アクセス権限ポリシーをアタッチします。

      ```
      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json
      ```

# ソースリビジョンオーバーライドでパイプラインを開始する
<a name="pipelines-trigger-source-overrides"></a>

オーバーライドを使用して、パイプライン実行用に指定した特定のソースリビジョン ID でパイプラインを開始できます。例えば、CodeCommit ソースからの特定のコミット ID を処理するパイプラインを開始する場合、パイプラインの開始時にコミット ID をオーバーライドとして追加できます。

**注記**  
入力変換エントリを使用してソースオーバーライドを作成し、パイプラインイベントの EventBridge で `revisionValue` を使用することもできます。ここで、`revisionValue` はオブジェクトキー、コミット、またはイメージ ID のソースイベント変数から派生します。詳細については、[Amazon ECR ソースアクションと EventBridge リソース](create-cwe-ecr-source.md)、[イベントに対して有効にしたソースを使用して Amazon S3 ソースアクションに接続する](create-S3-source-events.md)、または [CodeCommit ソースアクションと EventBridge](triggering.md) の手順に含まれる入力変換エントリのオプション手順を参照してください。

ソースリビジョンには `revisionType` として 4 つタイプがあります。
+ `COMMIT_ID`
+ `IMAGE_DIGEST`
+ `S3_OBJECT_VERSION_ID`
+ `S3_OBJECT_KEY`

**注記**  
`COMMIT_ID` タイプと `IMAGE_DIGEST` タイプのソースリビジョンの場合、ソースリビジョン ID は、すべてのブランチをまたいでリポジトリ内のすべてのコンテンツに適用されます。

**注記**  
ソースリビジョンの `S3_OBJECT_VERSION_ID` タイプと `S3_OBJECT_KEY` タイプは、特定の ObjectKey と VersionID を持つソースを上書きするために、個別に使用することも、一緒に使用することもできます。`S3_OBJECT_KEY` の場合、設定パラメータ `AllowOverrideForS3ObjectKey` を `true` に設定する必要があります。S3 のソース設定パラメータの詳細については、「[設定パラメータ](action-reference-S3.md#action-reference-S3-config)」を参照してください。

**Topics**
+ [ソースリビジョンオーバーライドでパイプラインを開始する (コンソール)](#pipelines-trigger-source-overrides-console)
+ [ソースリビジョンオーバーライドでパイプラインを開始する (CLI)](#pipelines-trigger-source-overrides-cli)

## ソースリビジョンオーバーライドでパイプラインを開始する (コンソール)
<a name="pipelines-trigger-source-overrides-console"></a>

**パイプラインを手動で開始し、最新のリビジョンをパイプラインにより実行するには**

1. にサインイン AWS マネジメントコンソール し、[http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) で CodePipeline コンソールを開きます。

1. [**Name**] で、開始するパイプラインの名前を選択します。

1. パイプラインの詳細ページで、[**Release change**] を選択します。**[リリース変更:** を選択すると、**[リリース変更]** ウィンドウが開きます。**[ソースリビジョンオーバーライド:** では、矢印を選択してフィールドを展開します。**[ソース]** に、ソースリビジョン ID を入力します。例えば、パイプラインに CodeCommit ソースがある場合は、使用するフィールドからコミット ID を選択します。  
![\[CodePipeline のオーバーライド画面の例です。\]](http://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/images/overrides.png)

## ソースリビジョンオーバーライドでパイプラインを開始する (CLI)
<a name="pipelines-trigger-source-overrides-cli"></a>

**パイプラインを手動で開始し、パイプラインを通じてアーティファクトの指定したソースリビジョン ID を実行するには**

1. ターミナル (Linux、macOS、または Unix) またはコマンドプロンプト (Windows) を開き、 AWS CLI を使用して **start-pipeline-execution** コマンドを実行し、開始するパイプラインの名前を指定します。また、**--source-revisions** 引数を使用して、ソースリビジョン ID を指定することもできます。ソースリビジョンは、actionName、revisionType、oおよび revisionValue で構成されます。有効な れヴぃしおｎType の値は `COMMIT_ID | IMAGE_DIGEST | S3_OBJECT_VERSION_ID | S3_OBJECT_KEY` です。

   次の例では、**codecommit-pipeline** という名前のパイプラインを通じて、指定した変更の実行を開始します。次のコマンドは、ソースアクション名を Source、リビジョンタイプを `COMMIT_ID` に、コミット ID を `78a25c18755ccac3f2a9eec099dEXAMPLE` に設定します。

   ```
   aws codepipeline start-pipeline-execution --name codecommit-pipeline --source-revisions actionName=Source,revisionType=COMMIT_ID,revisionValue=78a25c18755ccac3f2a9eec099dEXAMPLE --region us-west-1
   ```

1. 成功したかどうかを確認するには、返されたオブジェクトを表示します。このコマンドでは、以下のような 実行 ID が返ります。

   ```
   {
       "pipelineExecutionId": "c53dbd42-This-Is-An-Example"
   }
   ```
**注記**  
パイプラインを開始したら、CodePipeline コンソールで、または **get-pipeline-state** コマンドを実行して、進行状況をモニタリングできます。詳細については、「[パイプラインを表示する (コンソール)](pipelines-view-console.md)」および「[パイプラインの詳細と履歴を表示する (CLI)](pipelines-view-cli.md)」を参照してください。