自動ロールバックのステージを設定する - AWS CodePipeline

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

自動ロールバックのステージを設定する

パイプラインのステージは、障害時に自動的にロールバックするように設定できます。ステージが失敗すると、ステージは最後に正常に実行された実行にロールバックされます。パイプラインは、以前の実行が現在のパイプライン構造バージョンで開始された場合にのみ、以前の実行にロールバックできます。自動ロールバック設定はパイプライン定義の一部であるため、パイプラインステージは、パイプラインステージでパイプラインが正常に実行された後にのみ自動ロールバックされます。

自動ロールバックのステージを設定する (コンソール)

ステージは、指定した以前の成功した実行にロールバックできます。詳細については、「 ガイド」のRollbackStage「」を参照してください。 CodePipeline API

自動ロールバックのステージを設定する (コンソール)
  1. にサインイン AWS Management Console し、http://console.aws.amazon.com/codesuite/codepipeline/home で CodePipeline コンソールを開きます。

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

  2. [Name] で、編集するパイプラインの名前を選択します。

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

  4. 編集ページで、編集するアクションでステージの編集 を選択します。

  5. 自動ステージ設定: を選択し、ステージ障害時に自動ロールバックを設定する を選択します。パイプラインに変更を保存します。

    でロールバックステージを設定する編集画面の例 CodePipeline。

自動ロールバックのステージを設定する (CLI)

を使用して、失敗したステージを自動的に最新の実行にロールバックするように AWS CLI 設定するには、 コマンドを使用して、 パイプライン、ステージ、アクションを作成するおよび で説明されているパイプラインを作成または更新しますでパイプラインを編集する CodePipeline

  • ターミナル (Linux、macOS または Unix) またはコマンドプロンプト (Windows) を開き、 AWS CLI を使用してupdate-pipelineコマンドを実行し、パイプライン構造で障害条件を指定します。次の例では、 という名前のステージに自動ロールバックを設定しますS3Deploy

    { "name": "S3Deploy", "actions": [ { "name": "s3deployaction", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "static-website-bucket", "Extract": "false", "ObjectKey": "SampleApp.zip" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ], "onFailure": { "result": "ROLLBACK" } }

    ステージロールバックの障害条件の設定の詳細については、 リファレンスFailureConditionsの「」を参照してください。 CodePipeline API

自動ロールバックのステージを設定する (AWS CloudFormation)

AWS CloudFormation を使用して、障害時に自動的にロールバックするようにステージを設定するには、 OnFailureパラメータを使用します。失敗すると、ステージは自動的に最新の成功した実行にロールバックされます。

OnFailure: Result: ROLLBACK
  • 次のスニペットに示すようにテンプレートを更新します。次の例では、 という名前のステージに自動ロールバックを設定しますRelease

    AppPipeline: Type: AWS::CodePipeline::Pipeline Properties: RoleArn: Ref: CodePipelineServiceRole Stages: - Name: Source Actions: - Name: SourceAction ActionTypeId: Category: Source Owner: AWS Version: 1 Provider: S3 OutputArtifacts: - Name: SourceOutput Configuration: S3Bucket: Ref: SourceS3Bucket S3ObjectKey: Ref: SourceS3ObjectKey RunOrder: 1 - Name: Release Actions: - Name: ReleaseAction InputArtifacts: - Name: SourceOutput ActionTypeId: Category: Deploy Owner: AWS Version: 1 Provider: CodeDeploy Configuration: ApplicationName: Ref: ApplicationName DeploymentGroupName: Ref: DeploymentGroupName RunOrder: 1 OnFailure: Result: ROLLBACK ArtifactStore: Type: S3 Location: Ref: ArtifactStoreS3Location EncryptionKey: Id: arn:aws:kms:useast-1:ACCOUNT-ID:key/KEY-ID Type: KMS DisableInboundStageTransitions: - StageName: Release Reason: "Disabling the transition until integration tests are completed" Tags: - Key: Project Value: ProjectA - Key: IsContainerBased Value: 'true'

    ステージロールバックの障害条件の設定の詳細については、AWS CloudFormation 「 ユーザーガイドStageDeclaration」のOnFailure「」を参照してください。