Skip to main content

CDK CI/CD Wrapper

License

The CDK CI/CD Wrapper is a comprehensive solution that streamlines the delivery of your AWS Cloud Development Kit (CDK) applications. It provides a robust and standardized multi-stage CI/CD pipeline, ensuring high quality and confidence throughout the development and deployment process.

Table of Contents

Introduction

The CDK CI/CD Wrapper builds upon the success of the aws-cdk-cicd-boot-sample and takes it a step further by providing additional tools and features to simplify and standardize the multi-stage CI/CD process for your Infrastructure as Code (IaC) projects.

Features

  • Multi-staged CI/CD Pipeline: Seamlessly deploy your CDK applications across multiple stages (e.g., DEV, INT, PROD) and AWS accounts.
  • Security Scanning: Perform security scanning on dependencies and codebase, blocking the pipeline in case of CVE findings.
  • License Management: Manage licenses for NPM and Python dependencies, ensuring compliance with your organization's policies.
  • Private NPM Registry: Securely store and utilize private NPM libraries.
  • Customizable Pipeline: Tailor the CI/CD pipeline to your project's specific needs with built-in dependency injection.
  • Workbench Deployment: Develop and experiment with your solutions in isolation before introducing them to the delivery pipeline.
  • Pre/Post Deploy Hooks: Execute custom scripts before and after deployments in each stage (e.g., unit tests, functional tests, load testing).
  • Centralized Compliance Logs: Store compliance logs in pre-configured S3 buckets on a per-stage/environment basis.
  • Lambda Layer Support: Build and scan dependencies for Python Lambda Layers.

Getting Started

Prerequisites

Before you begin, ensure that you have the following dependencies installed:

  • AWS Account (RES/DEV/INT/PROD)
  • macOS or Cloud9 with Ubuntu Server 22.04 LTS Platform in the RES Account
  • Bash/ZSH terminal
  • Docker version >= 24.0.x
  • AWS CLI v2 (installation guide)
  • AWS credentials and profiles for each environment in ~/.aws/config (configuration guide)
  • Node.js >= v18.17._ && NPM >= v10.2._
  • jq command-line JSON processor (jq-1.7)

For developing Python Lambdas, you'll also need:

Installation

  1. Clone the CDK CI/CD Wrapper repository:

    git clone https://github.com/your-repo/cdk-cicd-wrapper.git
    cd cdk-cicd-wrapper
    
  2. Install the required dependencies:

    npm install
    

Usage

Defining Stages

The CDK CI/CD Wrapper comes with a default set of stages (DEV, INT, PROD), but you can easily extend or modify these stages to suit your project's needs. Follow the step-by-step guide in the documentation to define your desired stages.

Configuring Stacks

Configure the CDK stacks you want to deploy in each stage. The CDK CI/CD Wrapper allows you to specify which stacks should be deployed in each stage, giving you granular control over your deployment process.

Customizing CI/CD Steps

Tailor the CI/CD pipeline to meet your project's specific requirements. The CDK CI/CD Wrapper provides built-in dependency injection, allowing you to customize the CI/CD steps seamlessly.

Contributing

Contributions to the CDK CI/CD Wrapper are welcome! If you'd like to contribute, please follow the guidelines outlined in the CONTRIBUTING.md file.

License

This project is licensed under the Apache 2.0 License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdklabs_cdk_cicd_wrapper-0.3.8.tar.gz (780.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdklabs_cdk_cicd_wrapper-0.3.8-py3-none-any.whl (779.8 kB view details)

Uploaded Python 3

File details

Details for the file cdklabs_cdk_cicd_wrapper-0.3.8.tar.gz.

File metadata

  • Download URL: cdklabs_cdk_cicd_wrapper-0.3.8.tar.gz
  • Upload date:
  • Size: 780.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.14.6

File hashes

Hashes for cdklabs_cdk_cicd_wrapper-0.3.8.tar.gz
Algorithm Hash digest
SHA256 8cddba42185333a48bc3d95b41b0b64d5b3a2eb0df07c9f7968a6c9a7fba0393
MD5 f198ec5f5e1c3ee1b6bf81741a334872
BLAKE2b-256 cff29e4e40a680773251eb5f7130af52c436e9da85f7fa73a2132e7f582739f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdklabs_cdk_cicd_wrapper-0.3.8.tar.gz:

Publisher: release.yml on cdklabs/cdk-cicd-wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cdklabs_cdk_cicd_wrapper-0.3.8-py3-none-any.whl.

File metadata

File hashes

Hashes for cdklabs_cdk_cicd_wrapper-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 240dc45fd7e77575bbd245b52058d5f7aee92dabb8aea79a67b9fcb064edc571
MD5 ce1c9183d4025eb20561e9b7f503165d
BLAKE2b-256 648b3506b17dd39adfdfc08c342ce13df7f54a09122ff195e0cfd0c98d7d1d3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdklabs_cdk_cicd_wrapper-0.3.8-py3-none-any.whl:

Publisher: release.yml on cdklabs/cdk-cicd-wrapper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.9

2 files

This release

0.3.8 This release

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.2.22

2 files

0.2.21

2 files

0.2.20

2 files

0.2.19

2 files

0.2.18

2 files

0.2.17

2 files

0.2.16

2 files

0.2.15

2 files

0.2.14

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page