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 = 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
- 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.
- 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. - The deployment will wait until the CodeBuild Project completes successfully before finishing.
The architecture of this construct can be seen here:
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
Built Distribution
File details
Details for the file cdk_docker_image_deployment-0.0.659.tar.gz
.
File metadata
- Download URL: cdk_docker_image_deployment-0.0.659.tar.gz
- Upload date:
- Size: 13.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b422d65d41c319b1b0f29438bbabc60dd4c28c1782057bf79c60df350679e2cd |
|
MD5 | 0113319a61a2335607aa586aac04ee73 |
|
BLAKE2b-256 | 1e9a04973a979f43543aa33af542d26177cc5c0fffed99b84181805ca92fee72 |
File details
Details for the file cdk_docker_image_deployment-0.0.659-py3-none-any.whl
.
File metadata
- Download URL: cdk_docker_image_deployment-0.0.659-py3-none-any.whl
- Upload date:
- Size: 13.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d47fbe53d06cc2e36627eebb05dc8de1ad1c08d52588cc1da00a1019d235e02 |
|
MD5 | d5996111cc30d593d915b03becb6581f |
|
BLAKE2b-256 | 40271193a860821686001827d6f4ca1561f6d1345fdc6fa97b7d4006426b9aaf |