io.github.cdklabs.cdk.docker.image.deployment.package-info Maven / Gradle / Ivy
Show all versions of cdk-docker-image-deployment Show documentation
/**
* 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.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
package io.github.cdklabs.cdk.docker.image.deployment;