I recently converted a large CDK app to use CDK Pipelines. I LOVE how quickly it was to get working but it generated a UGLY and SLOW pipeline.
- The large app had ~50 assets, so a Publish Assets CodeBuild was generated for each asset (UGLY).
 - Often the publish step took longer than the deploy because the CodeBuilds were queued and only 5-10 ran at one time.
 - One of our client accounts hit a CodeBuild soft limit :(
 
Solution
After some Google-fu, I found the solution on the cdk.dev Slack channel!
1  | new CodePipeline(this, 'Pipeline', {  | 
By default, publishAssetsInParallel is on, creating the issues listed above. After I turned it off I had immediate gratification!
Results
- Only 1 CodeBuild was generated to publish assets (prettier).
 - Deployment time for the ~50 asset project was reduced by 20 minutes.
 - On another project, the self-mutate step was reduced from ~60 to 6 minutes!
 
Your mileage may vary, but it’s a very simple change that you can validate quickly. Good Luck!