1.4.4 • Published 1 year ago

@pubgcorp/semantic-release-helm v1.4.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

semantic-release-helm

semantic-release plugin to publish a helm chart to a helm repository and an OCI registry.

It updates Helm chart version and appVersion in Chart.yaml.

It supports the following protocols:

Install

npm install -D @pubgcorp/semantic-release-helm

Configuration

OptionsDescriptionsRequiredtypeDefault
chartRepositoryURI for chart repositoryyes*stringnone
ociRegistryURI for OCI registryyes*stringnone
chartDirectoryChart directory where Chart.yml is locatednostring.
versionUpdatePolicySet update policy for version field of Chart.yamlno"fixed" \| "sync" \| "desync""sync"
appVersionUpdatePolicySet update policy for appVersion field of Chart.yamlno"fixed" \| "sync" \| "desync""sync"

* At least one of ociRegistry or chartRepository is required.

Pass credentials through environment variable to login helm repository.

export HELM_REPOSITORY_USERNAME=<USERNAME>
export HELM_REPOSITORY_PASSWORD=<PASSWORD>
export HELM_REGISTRY_USERNAME=<USERNAME>
export HELM_REGISTRY_PASSWORD=<PASSWORD>

HELM_REPOSITORY_USERNAME and HELM_REPOSITORY_PASSWORD are used for chart repository login.

HELM_REGISTRY_USERNAME and HELM_REGISTRY_PASSWORD are used for OCI registry login.

If you are using oci registry and no credentials are provided, it will use the HELM_REPOSITORY_USERNAME and HELM_REPOSITORY_PASSWORD for login.

About versionUpdatePolicy & appVersionUpdatePolicy

Update policy

  • fixed: Use Fixed version. The version will not be updated
  • sync: Use nextRelease.version. New version will be set to nextRelease.version
  • desync: Version will be increased according to nextRelease.type (one of major, premajor, minor, preminor, patch, prepatch, prerelease)

Example

{
  "plugins": [
    [
      "@pubgcorp/semantic-release-helm",
      {
        "chartRepository": "https://mychart.company.org/chartrepo/myproject",
        "ociRegistry": "mychart.company.org/myproject",
        "chartDirectory": "./chart",
        "versionUpdatePolicy": "sync",
        "appVersionUpdatePolicy": "fixed"
      }
    ]
  ]
}
  • Your chart repository is https://mychart.company.org/chartrepo/myproject and OCI registry is mychart.company.org/myproject.
  • Chart.yaml is in chart sub-directory
  • version will follow next release version and appVersion will not modified

Old version

# semantic-release version: 1.2.3
version: 1.2.3
appVersion: 2.3.1

New version - Case #1 patch

# semantic-release version: 1.2.4
version: 1.2.4
appVersion: 2.3.1

New version - Case #2 minor

# semantic-release version: 1.3.0
version: 1.3.0
appVersion: 2.3.1

New version - Case #3 major

# semantic-release version: 2.0.0
version: 2.0.0
appVersion: 2.3.1
1.4.4

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.4.1

1 year ago

1.4.0

1 year ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago