でパイプラインを編集する CodePipeline - AWS CodePipeline

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

でパイプラインを編集する CodePipeline

パイプラインは、実行する必要があるステージやアクションなど、AWS CodePipeline が従うリリースプロセスを記述します。パイプラインを編集して、要素を追加または削除することができます。ただし、パイプラインを編集するときには、パイプライン名またはパイプラインメタデータなどの値を変更することはできません。

パイプライン編集ページを使用して、パイプラインタイプ、変数、およびトリガーを編集できます。パイプラインのステージとアクションを追加または変更することもできます。

パイプラインを作成する場合とは異なり、パイプラインを編集しても、パイプラインを通して最新のリビジョンが実行されることはありません。編集後のパイプラインを通して、最新のリビジョンを実行する場合は、手動で再実行する必要があります。それ以外の場合、編集後のパイプラインはソースステージで設定されているソースの場所の次回変更時に実行されます。詳細については、パイプラインを手動で開始する を参照してください。

パイプラインとは異なる AWS リージョン内にあるアクションをパイプラインに追加できます。AWS のサービス がアクションプロバイダーであり、このアクションタイプ/プロバイダータイプがパイプラインとは異なる AWS リージョンにある場合、これはクロスリージョンアクションです。クロスリージョンアクションの詳細については、「CodePipeline にクロスリージョンアクションを追加する」を参照してください。

CodePipeline は、ソースコードの変更がプッシュされたときに、変更検出方法を使用してパイプラインを開始します。この検出方法はソースタイプに基づいています。

  • CodePipeline は Amazon CloudWatch Events を使用して、 CodeCommit ソースリポジトリまたは Amazon S3 ソースバケットの変更を検出します。

注記

変更検出リソースは、コンソールを使用するときに自動的に作成されます。コンソールを使用してパイプラインを作成または編集すると、追加のリソースが作成されます。AWS CLI を使用してパイプラインを作成するときは、追加のリソースを各自で作成する必要があります。 CodeCommit パイプラインの作成または更新の詳細については、「」を参照してください CodeCommit ソースの EventBridge ルールを作成する (CLI)。CLI を使用した Amazon S3 パイプラインの作成または更新の詳細については、「Amazon S3 EventBridge ソースの ルールを作成する (CLI)」を参照してください。

パイプラインを編集する (コンソール)

CodePipeline コンソールを使用して、パイプラインのステージを追加、編集、または削除したり、ステージ内のアクションを追加、編集、または削除したりできます。

パイプラインを更新すると、 は実行中のすべてのアクション CodePipelineを適切に完了し、実行中のアクションが完了したステージとパイプラインの実行に失敗します。パイプラインが更新されたら、パイプラインを再実行する必要があります。パイプラインの実行に関する詳細については、「パイプラインを手動で開始する」を参照してください。

パイプラインを編集するには
  1. にサインインAWS Management Consoleし、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

    AWS アカウントに関連付けられているすべてのパイプラインの名前が表示されます。

  2. [Name] で、編集するパイプラインの名前を選択します。これにより、パイプラインの詳細ビューが開いて、パイプラインの各ステージの各アクションの状態などがわかります。

  3. パイプライン詳細ページで、[編集] を選択します。

  4. パイプラインタイプを編集するには、[編集: パイプラインのプロパティ] カードで [編集: を選択します。次のいずれかのオプションを選択し、[完了] を選択します。

    • V1 タイプのパイプラインは、標準のパイプライン、ステージ、アクションレベルのパラメータを含む JSON 構造になっています。

    • V2 タイプのパイプラインは、V1 タイプと同じ構造ですが、トリガーとパイプラインレベルの変数など、追加のパラメータがサポートされています。

    パイプラインのタイプによって特徴および価格が異なります。詳細については、「パイプラインのタイプ」を参照してください。

  5. パイプライン変数を編集するには、[編集: 変数] カードの[変数の編集] を選択します。パイプラインレベルの変数を追加または変更し、[完了] を選択します。

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

    注記

    パイプラインレベルの変数の追加はオプションですが、パイプラインレベルの変数に値が設定されていない場合、パイプラインの実行は失敗します。

  6. パイプライントリガーを編集するには、[編集: トリガー] カードで [トリガーの編集] を選択します。トリガーを追加または変更し、[完了] を選択します。

    トリガーの追加の詳細については、Bitbucket Cloud、 GitHub (バージョン 2)、 GitHub Enterprise Server、 GitLab.com、または GitLab などのセルフマネージド への接続を作成する手順を参照してくださいGitHub 接続

  7. [編集] ページでステージとアクションを編集するには、次のいずれかの操作を行います。

    • ステージを編集するには、[ステージを編集] を選択します。アクションは既存のアクションに対して直列にも並列にも追加できます。

      これらのアクションの編集アイコンを選択して、このビューでアクションを編集することもできます。アクションを削除するには、そのアクションの削除アイコンを選択します。

    • アクションを編集するには、そのアクションの編集アイコンを選択し、[アクションの編集] で値を変更します。アスタリスク (*) の付いた項目は必須です。

      • CodeCommit リポジトリ名とブランチの場合、このパイプライン用に作成される Amazon CloudWatch Events ルールを示すメッセージが表示されます。 CodeCommit ソースを削除すると、削除する Amazon CloudWatch Events ルールを示すメッセージが表示されます。

      • Amazon S3 ソースバケットの場合、このパイプライン用に作成される Amazon CloudWatch Events ルールとAWS CloudTrail証跡を示すメッセージが表示されます。Amazon S3 ソースを削除すると、削除する Amazon CloudWatch Events ルールとAWS CloudTrail証跡を示すメッセージが表示されます。AWS CloudTrail 証跡が他のパイプラインで使用されている場合には、この証跡は削除されませんが、データイベントは削除されます。

    • ステージを追加するには、ステージを追加するパイプラインのポイントで [+ Add stage (+ ステージを追加)] を選択します。ステージの名前を入力し、少なくとも 1 つのアクションをそのステージに追加します。アスタリスク (*) の付いた項目は必須です。

    • ステージを削除するには、そのステージの削除アイコンを選択します。ステージとそのすべてのアクションが削除されます。

    たとえば、パイプラインのステージにシリアルアクションを追加する場合は、以下のようにします。

    1. アクションを追加するステージで、[Edit stage (ステージを編集)] を選択し、[+ Add action group (+ アクショングループの追加)] を選択します。

    2. [アクションを編集] の、[アクション名] でアクションの名前を入力します。[Action provider (アクションプロバイダー)] リストには、プロバイダーのオプションがカテゴリ別に表示されます。[デプロイ] などのカテゴリを探します。カテゴリで、プロバイダー (AWS CodeDeploy など) を選択します。[リージョン] で、リソースの作成先または作成予定先の AWS リージョンを選択します。[リージョン] フィールドは、このアクションタイプとプロバイダータイプに対して作成済みの AWS リソースの場所を示します。このフィールドには、アクションプロバイダーが AWS のサービス であるアクションのみが表示されます。[リージョン] フィールドは、デフォルトで、パイプラインと同じ AWS リージョンになります。

      入出力アーティファクトの名前や使用方法など CodePipeline、 でのアクションの要件の詳細については、「」を参照してくださいCodePipeline でのアクション構造の要件。アクションプロバイダーの追加例と各プロバイダーのデフォルトフィールドの使用例については、「パイプラインを作成する (コンソール)」を参照してください。

      ビルドアクションまたはテストアクション CodeBuild としてステージに追加するには、「 CodeBuild ユーザーガイド」の「 CodePipeline でコード CodeBuild のテストとビルドの実行に使用する」を参照してください。

      注記

      などの一部のアクションプロバイダーは GitHub、アクションの設定を完了する前にプロバイダーのウェブサイトに接続する必要があります。プロバイダーのウェブサイトに接続するときは、そのウェブサイトの認証情報を使用していることを確認します。AWS の認証情報を使用しないでください。

    3. アクションの設定が完了したら、[保存] を選択します。

    注記

    コンソールビューでステージの名前を変更することはできません。新しいステージを変更後の名前で追加し、その後に古いステージを削除できます。古いステージを削除する前に、必要なすべてのアクションを新しいステージに追加したことを確認してください。

  8. パイプラインの編集が終わったら、[保存] を選択して概要ページに戻ります。

    重要

    変更を保存したら、元に戻すことはできません。パイプラインを再度編集する必要があります。変更を保存するときにパイプラインによりリビジョンが実行されている場合、その実行は完了しません。編集したパイプラインにより特定のコミットまたは変更を実行する場合は、パイプラインから手動で実行する必要があります。それ以外の場合、次のコミットまたは変更はパイプラインにより自動的に実行されます。

  9. アクションをテストするには、[Release change] を選択して、パイプラインによりそのコミットを処理し、パイプラインのソースステージで指定したソースに変更をコミットします。または AWS CLI を使用して手動で変更をリリースする場合、パイプラインを手動で開始する で次の手順に従います。

パイプラインを編集する (AWS CLI)

パイプラインを編集するには、update-pipeline コマンドを使用します。

パイプラインを更新すると、 は実行中のすべてのアクション CodePipeline を適切に完了し、実行中のアクションが完了したステージとパイプラインの実行に失敗します。パイプラインが更新されたら、パイプラインを再実行する必要があります。パイプラインの実行に関する詳細については、「パイプラインを手動で開始する」を参照してください。

重要

パートナーアクションを含むパイプラインの編集に AWS CLI を使用することはできますが、パートナーアクションの JSON を手動で編集することはできません。これを行った場合、パートナーアクションはパイプライン更新後に失敗します。

パイプラインを編集するには
  1. ターミナルセッション (Linux、macOS または Unix) またはコマンドプロンプト (Windows) を開き、get-pipeline コマンドを実行して、パイプライン構造を JSON ファイルにコピーします。たとえば、MyFirstPipeline という名前のパイプラインに対して、以下のコマンドを入力します。

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

    このコマンドは何も返しませんが、作成したファイルは、コマンドを実行したディレクトリにあります。

  2. 任意のプレーンテキストエディタで JSON ファイルを開き、パイプラインに加える変更を反映するようにファイルの構造を変更します。たとえば、ステージを追加または削除すること、または、既存のステージに別のアクションを追加することができます。

    以下の例では、pipeline.json ファイルに別のデプロイステージを追加する方法を示しています。このステージは、Staging という名前の最初のデプロイステージの後に実行されます。

    注記

    ここで示しているのは、そのファイルの一部であり、構造全体ではありません。詳細については、「CodePipeline パイプライン構造リファレンス」を参照してください。

    , { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] }, { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] } ] }

    CLI を使用して承認アクションをパイプラインに追加する方法については、「CodePipeline でパイプラインにマニュアルの承認アクションを追加する 」を参照してください。

    JSON ファイルの PollForSourceChanges パラメータが次のように設定されていることを確認します。

    "PollForSourceChanges": "false",

    CodePipeline は Amazon CloudWatch Events を使用して、 CodeCommit ソースリポジトリとブランチまたは Amazon S3 ソースバケットの変更を検出します。次のステップには、手動でこれらのリソースを作成する手順が含まれています。フラグを false に設定すると、定期的なチェックが無効になります。これは、推奨される変更検出メソッドを使用する場合には必須ではありません。

  3. パイプラインとは異なるリージョンにビルド、テスト、またはデプロイアクションを追加するには、パイプライン構造に以下を追加する必要があります。詳細な手順については、「CodePipeline にクロスリージョンアクションを追加する」を参照してください。

    • Region パラメータをアクションのパイプライン構造に追加します。

    • アクションの作成先のリージョンごとにアーティファクトバケットを指定するには、artifactStores パラメータを使用します。

  4. get-pipeline コマンドを使用して取得したパイプライン構造を使用している場合、JSON ファイルの構造を変更する必要があります。metadata コマンドが使用できるように、ファイルから update-pipeline 行を削除する必要があります。JSON ファイルのパイプライン構造からセクションを削除します ("metadata": { } 行と、"created""pipelineARN"、および"updated"フィールド)。

    例えば、構造から以下の行を削除します。

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" }

    ファイルを保存します。

  5. パイプラインの編集に CLI を使用する場合には、推奨される変更検出リソースを手動でパイプライン用に管理する必要があります。

  6. 変更を適用するには、パイプライン JSON ファイルを指定して、update-pipeline コマンドを実行します。

    重要

    ファイル名の前に必ず file:// を含めてください。このコマンドでは必須です。

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    このコマンドは、編集したパイプラインの構造全体を返します。

    注記

    update-pipeline コマンドは、パイプラインを停止します。update-pipeline コマンドを実行したときにパイプラインによりリビジョンが実行されている場合、その実行は停止します。更新されたパイプラインによりそのリビジョンを実行するには、パイプラインを手動で開始する必要があります。

  7. CodePipeline コンソールを開き、編集したパイプラインを選択します。

    そのパイプラインには、行った変更が示されます。ソース場所を次に変更すると、修正した構造のパイプラインによりそのリビジョンが実行されます。

  8. 修正した構造のパイプラインによりその最新のリビジョンを手動で実行するには、start-pipeline-execution コマンドを実行します。詳細については、「パイプラインを手動で開始する」を参照してください。

パイプラインの構造および想定値の詳細については、「CodePipeline パイプライン構造リファレンス」および AWS CodePipeline API リファレンス を参照してください。