AWS::CodePipeline::Pipelineref. AWS::CodePipeline::Pipeline
Type: AWS::CodePipeline::Pipeline
Properties:
ArtifactStore:
ArtifactStore
ArtifactStores:
- ArtifactStoreMap
DisableInboundStageTransitions:
- StageTransition
Name: String
RestartExecutionOnUpdate: Boolean
RoleArn: String
Stages:
- StageDeclaration
Tags:
- Tag
ActionTypeIdのCategoryはDeploy、ProviderはCloudFormationでActionModeはCHANGE_SET_REPLACEの例。CHANGE_SET_REPLACEは変更セットを作成して実装はしない。
DeployPipeline:
Type: "AWS::CodePipeline::Pipeline"
Properties:
# ...
Stages:
# ... -
- Name: ChangeSet
Actions:
-
Name: Foo
# ...
ActionTypeId:
Category: Deploy
Owner: AWS
Version: '1'
Provider: CloudFormation
# ...
Configuration:
ActionMode: CHANGE_SET_REPLACE # 変更セット作成 CHANGE_SET_EXECUTEは実装
ChangeSetName: FooChangeSet
ActionTypeId:
ActionTypeId
Configuration: Json
InputArtifacts:
- InputArtifact
Name: String
Namespace: String
OutputArtifacts:
- OutputArtifact
Region: String
RoleArn: String
RunOrder: Integer
ref. https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages-actions.html#cfn-codepipeline-pipeline-stages-actions-actiontypeid
アクションタイプは、アクションカテゴリとアクションプロバイダタイプの組み合わせで構成されます。
https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/reference-pipeline-structure.html
Category: String
Owner: String
Provider: String
Version: String
Category A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.
各Catergoryごとに使用できるProviderは以下を参照。
ref. https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/reference-pipeline-structure.html#actions-valid-providers
ステージのアクションで CloudFormation をプロバイダーとして指定する場合は、Configuration プロパティ内で次のプロパティを定義します。A
configuration:
ActionMode: CHANGE_SET_REPLACE
Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
ChangeSetName: pipeline-changeset
RoleArn: CloudFormation_Role_ARN
StackName: my-pipeline-stack
TemplateConfiguration: 'my-pipeline-stack::template-configuration.json'
TemplatePath: 'my-pipeline-stack::template-export.yml'
ref. AWS CloudFormation 設定プロパティのリファレンス
For example, if you want three actions to run in sequence in a stage, you would give the first action the runOrder value of 1, the second action the runOrder value of 2, and the third the runOrder value of 3. However, if you want the second and third actions to run in parallel, you would give the first action the runOrder value of 1 and both the second and third actions the runOrder value of 2.
https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements
前提:CodePipelineのSourceはGitHubのブランチ
AWS::CodePipeline::Pipelineを実行 => CodePipelineにパイプラインが作成パイプラインが更新がリリースされてCodePipelineが実行(変更セット作成 -> 承認 -> デプロイ)パイプラインが更新がリリースされてCodePipelineが実行(変更セット作成 -> 承認 -> デプロイ)JSONでないとParameterOverrides property is not validが発生スタックを削除しても新たにCodePipelineが走って作成されてします。