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

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

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

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

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

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

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

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

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

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

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

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

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

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

を使用して、最後に正常に実行された実行に自動的にロールバックするように失敗したステージ AWS CLI を設定するには、 コマンドを使用して、 でパイプラインを作成する CodePipelineおよび で説明されているパイプラインを作成または更新しますでパイプラインを編集する 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" } }

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

自動ロールバックのステージを設定する (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'

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