2.0.5 • Published 2 months ago

@rimac-technology/semantic-release-ecr v2.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

@rimac-technology/semantic-release-ecr

semantic-release plugin to publish a docker image to the AWS Elastic Container Registry

Commitizen friendly Conventional Changelog semantic-release: angular

StepDescription
verifyConditionsVerify the presence of the AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_DEFAULT_REGION environment variables and docker imageName plugin option
publishPublish the docker image to the aws ecr.

Install

# For npm users
$ npm install --save-dev @rimac-technology/semantic-release-ecr

# For yarn users
$ yarn add --dev @rimac-technology/semantic-release-ecr

Usage

The plugin can be configured in the semantic-release configuration file:

{
    "plugins": [
        "@semantic-release/commit-analyzer",
        "@semantic-release/release-notes-generator",
        "@semantic-release/npm",
        [
            "@rimac-technology/semantic-release-ecr",
            {
                "imageName": "my-ecr-image"
            }
        ]
    ]
}

Prerequisites

To use this plugin you need to set up an ECR container registry if you don't already have on. Here is a AWS ECR Getting started guide from AWS on how to set up a new registry.

IMPORTANT! This plugin expects the docker image to be built already, or you can build it with "dockerImage" configuration option

Configuration

Environment variables

VariableDescriptionRequired
AWS_ACCESS_KEY_IDAWS access key id
AWS_SECRET_ACCESS_KEYAWS secret key
AWS_DEFAULT_REGIONAWS region

Options

OptionsDescriptionDefaultRequired
buildImageDocker command which will build an image
imageNameThe name of the image to push to the ECR. The name should be the same as your ECR repository name (example: my-ecr-image). Remember that you don't need to add your registry URL in front of the image name, the plugin will fetch this URL from AWS and add it for you. Don't add tag in the imageName
tagsArray of string which can be static values like latest or environment variables like $NODE_ENVnextRelease.version

Example

{
    "plugins": [
        "@semantic-release/commit-analyzer",
        "@semantic-release/release-notes-generator",
        "@semantic-release/npm",
        [
            "@rimac-technology/semantic-release-ecr",
            {
                "buildImage": "docker build . -t my-ecr-image",
                "imageName": "my-ecr-image",
                "tags": ["latest", "$NODE_ENV"]
            }
        ]
    ]
}
2.0.5

2 months ago

2.0.4

3 months ago

2.0.3

4 months ago

2.0.2

4 months ago

2.0.1

5 months ago

2.0.0-alpha.1

6 months ago

2.0.0-alpha.2

6 months ago

2.0.0

6 months ago

1.2.0

1 year ago

1.2.0-beta.1

1 year ago

1.1.1

1 year ago

1.1.0

2 years ago

1.0.2

2 years ago