Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(EcsDeployAction): define service attributes instead of service itself. #17911

Closed
1 of 2 tasks
tobytipton opened this issue Dec 8, 2021 · 1 comment
Closed
1 of 2 tasks
Labels
@aws-cdk/aws-codepipeline-actions effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. in-progress This issue is being actively worked on. p2

Comments

@tobytipton
Copy link
Contributor

Description

EcsDeployAction should allow passing of a serviceName, clusterName, region and possibly account or requiring role, instead of requiring the service which is an IBaseService to set the CodePipeline Configuration and region.

This will allow for using EcsDeployAction to have better support in the CodePipeline API where a you typically would define the ECS service/cluster in a stack inside of a stage.

This would also better support having one pipeline which creates the ECS service/cluster and another pipeline which deploys updated code to the stack.

Use Case

Typical use case is to have a pipeline which defines a stage which has a stack to create the ECS service. That ECS service needs to be deployed to via EcsDeployAction, to do that you need need to pass in the service. Passing the service which is defined in the stack in the pipeline stage results in dependency cannot cross stage boundaries.

The other use case is to have one pipeline which create the ECS service infrastructure and another pipeline which handles the deployments to the ECS deployment via the EcsDeployAction.

Proposed Solution

Currently EcsDeployAction takes a service as an IBaseService which based on the service determines the ClusterName, ServiceName for the CodePipeline Action Configuration. The service is also used to determine the region for the CodePipeline Action.

The proposed solution would be to make service optional, if the combination of serviceName, clusterName, region and role is passed in as props. There would need to be a check to ensure either service or the combination of service attributes is passed in, to ensure service doesn't override the attributes.

Most likely using an property of serviceAttributes which requires serviceName, clusterName and making region as an optional property to be leveraged only when the serviceAttributes are passed in.

Other information

No response

Acknowledge

  • I may be able to implement this feature request
  • This feature might incur a breaking change
@tobytipton tobytipton added feature-request A feature should be added or improved. needs-triage This issue or PR still needs to be triaged. labels Dec 8, 2021
@github-actions github-actions bot added the @aws-cdk/aws-ecs Related to Amazon Elastic Container label Dec 8, 2021
@skinny85 skinny85 added @aws-cdk/aws-codepipeline-actions and removed @aws-cdk/aws-ecs Related to Amazon Elastic Container labels Dec 8, 2021
@skinny85 skinny85 assigned skinny85 and unassigned madeline-k Dec 8, 2021
@skinny85 skinny85 added effort/small Small work item – less than a day of effort in-progress This issue is being actively worked on. p2 and removed needs-triage This issue or PR still needs to be triaged. labels Dec 10, 2021
@skinny85 skinny85 removed their assignment Dec 10, 2021
@github-actions
Copy link

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
@aws-cdk/aws-codepipeline-actions effort/small Small work item – less than a day of effort feature-request A feature should be added or improved. in-progress This issue is being actively worked on. p2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants