Skip to content

ttskp/cdk-pipelines

Repository files navigation

CDK (Code) Pipeline Constructs

Pipeline Constructs

MultiDeployCodePipeline Status badge

A CodePipeline for conveniently deploy across multiple stages, multiple accounts and multiple regions.

Support for:

  • Status badge Deployment Stages and Targets from different sources (SSM parameters, AWS Organization)
  • Status badge Additional Triggers, e.g. if an SSM parameter changes
  • Status badge Idempotent Stack deployment (similar to StackSets)
  • Status badge Auto Approve/Reject of manual approval actions based on git-tags or conventional commits

PackerBuildPipeline Status badge

A MultiDeployCdkPipeline for creating and distributing EC2 Machine Images (AMIs) across multiple accounts and regions. AMI Ids are stored in SSM parameters, similar to AWS's public parameters for Amazon Linux.

BuildSpecPipeline Status badge

A convenience Pipeline intented to perform an arbitrary build tasks described in an AWS CodeBuild Buildspec file.

The Buildspec file can either be provided as an object using the property buildspec or a path to a project file using the property buildSpecFile or if none is provided as a property, the construct tries to read the Buildspec from the file buildspec.yml located in the project root directory.

BuildSpecPipeline allows you to simplify access to AWS CodeArtifact by adding a non-standard property to the env node called code-artifact. If this property is present, BuildSpecPipeline will add all commands to automatically login to AWS CodeArtifact repositories. You don't have to add those commands as part of the build stage. Currently, only pip and npm repositories are supported.

Python: pip, jsii-twine:
Uses AWS CLI to log into an AWS CodeArtifact pip-repository before preBuild and sets a CodeArtifact authentication token for twine before postBuild.
NodeJs: npm, jsii-npm:
Uses AWS CLI to log into an AWS CodeArtifact npm-repository before preBuild and sets a CodeArtifact authentication token for npm-registry before postBuild.

BuildSpecPipeline has the following restrictions:

  • Only AWS CodeCommit repositories are supported.
  • Deployments have to be scripted as part of the BuildSpec
  • No Self-Mutate