@rimac-technology/semantic-release-ecr
v2.0.11
Published
Semantic-release plugin to publish a docker image to the AWS Elastic Container Registry
Downloads
1,118
Maintainers
Readme
@rimac-technology/semantic-release-ecr
semantic-release plugin to publish a docker image to the AWS Elastic Container Registry
| Step | Description |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| verifyConditions
| Verify the presence of the AWS_ACCESS_KEY_ID
, AWS_SECRET_ACCESS_KEY
and AWS_DEFAULT_REGION
environment variables and docker imageName
plugin option |
| publish
| Publish 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
| Variable | Description | Required |
| ----------------------- | ----------------- | :------: |
| AWS_ACCESS_KEY_ID
| AWS access key id | ✓ |
| AWS_SECRET_ACCESS_KEY
| AWS secret key | ✓ |
| AWS_DEFAULT_REGION
| AWS region | ✓ |
Options
| Options | Description | Default | Required |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | :------: |
| buildImage
| Docker command which will build an image | | |
| imageName
| The 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
| | ✓ |
| tags
| Array of string which can be static values like latest
or environment variables like $NODE_ENV
| nextRelease.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"]
}
]
]
}