aws / aws-cdk-rfcs

RFCs for the AWS CDK

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CI/CD for CDK apps

eladb opened this issue · comments

PR Champion
#3437 @eladb

Description

Teams should be able to "git push" a change into their CDK app repo and have this change automatically picked up, built, tested and deployed according to a deployment flow they define.

Any changes in resources, assets or stacks in their apps will automatically be added. To that end, the deployment pipeline itself will also be continuously delivered and updated throughout the same workflow. No manual deployments to production (incl. the pipeline) will be required.

Progress

  • Tracking Issue Created
  • RFC PR Created
  • Core Team Member Assigned
  • Initial Approval / Final Comment Period
  • Ready For Implementation
  • Resolved

@eladb Are you looking/open to external contributors to build this? I couldn't find issues/labels in the aws-cdk repo related to this, so I’m assuming no

Hi @gustakasn0v thanks so much for reaching out. We are actively working on implementing this RFC. Many aspects of which are already released (such as asset publishing, new bootstrapping logic, etc). At the moment we are not looking for help with implementation but as soon as we release some initial bits we would love your feedback! Copy @rix0rrr who leads this project.

@eladb Thanks for the quick reply! I'm happy to provide feedback! I'll look out for new releases.

Separately, I'm merging a Typescript example that partially implements some of the concepts in your RFC, feel free to take a look if it helps: aws-samples/aws-cdk-examples#269

such as asset publishing

@eladb is that just during cdk deploy? I was expecting a cdk assets command, but not finding it.

In case people are looking for a solution now, this gist may help: https://gist.github.com/ottokruse/41694de3831d6bfe9080743b352aa2fe

It's a small script to publish CDK assets (e.g. Lambda function code) to S3 and generate parameter files, so you can combine cdk synth with CloudFormation deployments. This is essentially the equivalent of sam package but then for CDK. Works for Lambda and S3 deployments, but not for CDK's ECS magic.

Looking forward to the CDK native way to do this!

Hi @eladb @rix0rrr a colleague pointed this repo/issue out to me. I have developed something similar which I have deployed to two separate customers with this solution which may be of help.

Additionally the pipeline maintains itself, by running a cloudformation step which causes itself to update. I am happy to help contribute to this issue if can be of any help. Related blog article: https://mechanicalrock.github.io/2020/01/31/inception-pipeline-cdk.html

Cheers

edit: I've just noticed the date of the PR, my comment appears to be outdated!