メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::CodePipeline::Pipeline

AWS::CodePipeline::Pipeline リソースは、リリースプロセスでソフトウェアの変更がどのように行われるかを記述する AWS CodePipeline パイプラインを作成します。詳細については、「AWS CodePipeline とは?」 (AWS CodePipeline ユーザーガイド) を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

Copy
{ "Type" : "AWS::CodePipeline::Pipeline", "Properties" : { "ArtifactStore" : ArtifactStore, "DisableInboundStageTransitions" : [ DisableInboundStageTransitions, ... ], "Name" : String, "RestartExecutionOnUpdate" : Boolean, "RoleArn" : String, "Stages" : [ Stages, ... ] } }

YAML

Copy
Type: "AWS::CodePipeline::Pipeline" Properties: ArtifactStore: ArtifactStore DisableInboundStageTransitions: - DisableInboundStageTransitions Name: String RestartExecutionOnUpdate: Boolean RoleArn: String Stages: - Stages

プロパティ

ArtifactStore

AWS CodePipeline がパイプラインアーティファクトを保存する Amazon Simple Storage Service (Amazon S3) の場所。詳細については、AWS CodePipeline ユーザーガイドの「アプリケーションの Amazon S3 バケットの作成」を参照してください。

Required: Yes

Type: AWS CodePipeline Pipeline ArtifactStore

更新に伴う要件: 中断はありません。

DisableInboundStageTransitions

パイプライン内のアーティファクトが、指定したステージに移行しないようにします。これにより、手動で移行を制御することができます。

Required: No

AWS CodePipeline Pipeline DisableInboundStageTransitionsType: リスト

更新に伴う要件: 中断はありません。

Name

AWS CodePipeline パイプラインの名前。

Required: No

Type: String

更新に伴う要件: 置換

RestartExecutionOnUpdate

AWS CodePipeline パイプラインを更新後に再実行するかどうかを示します。

Required: No

Type: Boolean

更新に伴う要件: 中断はありません。

RoleArn

ユーザーに変わって AWS サービスへの呼び出しを行う AWS CodePipeline 権限を付与する、サービスロール Amazon リソースネーム (ARN)。詳細については、AWS CodePipeline ユーザーガイドの「AWS CodePipeline アクセス権限リファレンス」を参照してください。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

Stages

AWS CodePipeline パイプラインステージを定義します。

Required: Yes

Type: AWS CodePipeline パイプラインステージ

更新に伴う要件: 中断はありません。

戻り値

参照番号

AWS::CodePipeline::Pipeline リソースの論理 ID を組み込み Ref 関数に渡すと、関数はパイプライン名 (mysta-MyPipeline-A1BCDEFGHIJ2 など) を返します。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

次の例では、ソース、ベータ、およびリリースステージを使用してパイプラインを作成します。ソースステージでは、AWS CodePipeline は S3 バケットに保存されたアプリケーションの変更を検出し、パイプラインに引き出します。ベータステージでは、AWS CodeDeploy を使用してそれらの変更が EC2 インスタンスにデプロイされます。リリースステージでは、インバウンド移行が無効になるため、変更をリリースにデプロイする準備ができるタイミングを制御できます。

JSON

Copy
"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": "Beta", "Actions": [ { "Name": "BetaAction", "InputArtifacts": [ { "Name": "SourceOutput" } ], "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Version": "1", "Provider": "CodeDeploy" }, "Configuration": { "ApplicationName": {"Ref" : "ApplicationName"}, "DeploymentGroupName": {"Ref" : "DeploymentGroupName"} }, "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 } ] } ], "ArtifactStore": { "Type": "S3", "Location": { "Ref" : "ArtifactStoreS3Location" } }, "DisableInboundStageTransitions": [ { "StageName": "Release", "Reason": "Disabling the transition until integration tests are completed" } ] } }

YAML

Copy
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: Beta Actions: - Name: BetaAction InputArtifacts: - Name: SourceOutput ActionTypeId: Category: Deploy Owner: AWS Version: 1 Provider: CodeDeploy Configuration: ApplicationName: Ref: ApplicationName DeploymentGroupName: Ref: DeploymentGroupName 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 ArtifactStore: Type: S3 Location: Ref: ArtifactStoreS3Location DisableInboundStageTransitions: - StageName: Release Reason: "Disabling the transition until integration tests are completed"

このページの内容: