This is a plugin for semantic-release. It updates version
and appVersion
of a Helm chart's
Chart.yaml.
The version
is increased according to nextRelease.type
, which can be one of
- major
- premajor
- minor
- preminor
- patch
- prepatch
- prerelease
or null if it's not valid.
The appVersion
is set to nextRelease.version
if onlyUpdateVersion
is false or unset.
version 0.1.0
appVersion 1.16.0
-
patch (1.16.0 -> 1.16.1)
New chart version is 0.1.1 -
minor (1.16.0 -> 1.17.0)
New chart version is 0.2.0 -
major (1.16.0 -> 2.0.0)
New chart version is 1.0.0
name | type | default | required | description |
---|---|---|---|---|
chartPath | string | "" | true | Chart directory, where the Chart.yaml is located. |
registry | string | "" | false | URI of a container registry. |
onlyUpdateVersion | bool | false | false | Don't change appVersion if this is true. Useful if your chart is in a different git repo than the application. |
oci | bool | false | false | If true, set HELM_EXPERIMENTAL_OCI environment variable to 1 |
crPublish | boolean | false | false | Enable chart releaser |
crPathConfig | string | "" | false | path to .ct.yaml chart-releaser configuration file |
Credentials for registry must be exported
export REGISTRY_USERNAME=<USERNAME>
export REGISTRY_PASSWORD=<PASSWORD>
{
"plugins": [
[
"semantic-release-helm",
{
chartPath: './chart',
registry: 'localhost:5000/repo/chart',
oci: true
}
]
]
}
You should first export credentials
export AWS_REGION=<REGION>
export AWS_ACCESS_KEY_ID=<ACCESS_KEY_ID>
export AWS_SECRET_ACCESS_KEY=<SECRET_ACCESS_KEY>
{
"plugins": [
[
"semantic-release-helm",
{
chartPath: './chart',
registry: 's3://my-s3-bucket-repo/s3-prefix',
onlyUpdateVersion: true,
oci: false
}
]
]
}
You should first login using gcloud
CLI or export Account credentials file
export GOOGLE_APPLICATION_CREDENTIALS=credentials.json
{
"plugins": [
[
"semantic-release-helm",
{
chartPath: './chart',
registry: 'gs://my-gcs-bucket-repo/gcs-prefix',
onlyUpdateVersion: true,
oci: false
}
]
]
}