Skip to main content

This module allows you to copy docker image assets to a repository you control. This can be necessary if you want to build a Docker image in one CDK app and consume it in a different app or outside the CDK.

Project description

CDK Docker Image Deployment

This module allows you to copy docker image assets to a repository you control. This can be necessary if you want to build a Docker image in one CDK app and consume it in a different app or outside the CDK, or if you want to apply a lifecycle policy to all images of a part of your application.

Getting Started

Below is a basic example for how to use the DockerImageDeployment API:

import * as ecr from 'aws-cdk-lib/aws-ecr';
import * as imagedeploy from 'cdk-docker-image-deployment';

const repo = new ecr.Repository.fromRepositoryName(this, 'MyRepository', 'myrepository');

new imagedeploy.DockerImageDeployment(this, 'ExampleImageDeploymentWithTag', {
  source: imagedeploy.Source.directory('path/to/directory'),
  destination: imagedeploy.Destination.ecr(repo, {
    tag: 'myspecialtag',
  });
});

Currently Supported Sources

  • Source.directory(): Supply a path to a local docker image as source.

Don't see a source listed? See if there is an open issue or PR already. If not, please open an issue asking for it or better yet, submit a contribution!

Currently Supported Destinations

  • Destination.ecr(repo, options): Send your docker image to an ECR repository in your stack's account.

Don't see a destination listed? See if there is an open issue or PR already. If not, please open an issue asking for it or better yet, submit a contribution!

Under the Hood

  1. When this stack is deployed (either via cdk deploy or via CI/CD), the contents of the local Docker image will be archived and uploaded to an intermediary assets ECR Repository using the cdk-assets mechanism.
  2. The DockerImageDeployment construct synthesizes a CodeBuild Project which uses docker to pull the image from the intermediary repository, tag the image if a tag is provided, and push the image to the destination repository.
  3. The deployment will wait until the CodeBuild Project completes successfully before finishing.

The architecture of this construct can be seen here:

Construct-Architecture

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

cdk-docker-image-deployment-0.0.50.tar.gz (10.4 MB view details)

Uploaded Source

Built Distribution

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

cdk_docker_image_deployment-0.0.50-py3-none-any.whl (10.4 MB view details)

Uploaded Python 3

File details

Details for the file cdk-docker-image-deployment-0.0.50.tar.gz.

File metadata

File hashes

Hashes for cdk-docker-image-deployment-0.0.50.tar.gz
Algorithm Hash digest
SHA256 b1c23ddff81cda38cc23349b9c4221d73dea559fb74c1e3f1c0e7180b6240bbe
MD5 47076da0c02b980030b04100fd660f3e
BLAKE2b-256 130f0feb2a40d3ce181e553da5cf8729a6fbaba0a7692a7918fce71c70f91782

See more details on using hashes here.

File details

Details for the file cdk_docker_image_deployment-0.0.50-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_docker_image_deployment-0.0.50-py3-none-any.whl
Algorithm Hash digest
SHA256 0b7e377e3788f3cf8fe2bc556d9c3756998913068ba01a0b9d2df0a9ba5d7d33
MD5 c1655b6a27e8b37845c7ef0412b5dd4a
BLAKE2b-256 12cd430fd5820d6b451745dada8c6378084e7967476dbec094c693913aa98c6e

See more details on using hashes here.

Supported by

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