aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

re-useable StageDeclaration in `AWS::CodePipeline::Pipeline`

Open
#908 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

Other

### Resource name

AWS::CodePipeline::Pipeline

### Description

Currently, our build pipelines all look like:

* Bitbucket source
* self-update
* // actually distinct stuff //
* publish artifact to S3

Currently, the definitions for the three uniform steps have to be repeated in every CloudFormation template - giving us a lot of room for manual error, making them much busier to read, and complicating maintenance. Being able to deduplicate that definition would be extremely useful. One way this could be done is by making them a separate resource, and allowing them to either be defined on the `Pipeline` inline (maintaining backwards compatibility) or with a `Ref`.

### Other Details

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codepipeline-pipeline.html#cfn-codepipeline-pipeline-stages

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stages.html

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html

Contributor guide

Open the contributing guide

Research direction

No repository files or tests are named. Start with the AWS::CodePipeline::Pipeline stages property, the linked StageDeclaration documentation, and the CloudFormation modules documentation. Done means the requested deduplication approach and its compatibility with inline definitions are clearly established.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.