@brpaz/semantic-release-helm
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

semantic-release-helm

Semantic Release plugin for Publishing Helm packages.

npm License: MIT Commitizen friendly

Introduction

This plugin allows to publish Helm charts using Semantic Release. For now the only backend available is GitHub Pages. PRs welcome for support for more backends like Chart Museum.

Pre-Requisites

Before starting creating releases, you must create a new branch in your Chart repository and enable github pages for that branch.

You also need to initialize a Helm Repo by commiting an index.yaml to the that branch.

You can generate an empty index.yaml, by running the following command in your chart repo:

helm repo index . --url <github_pages_url>

Usage

You can see an example repo, demonstrating this plugin in action here.

For integration with your chart, create a .releaserc file in the root of your repository with the plugin defined:

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    [
        "@brpaz/semantic-release-helm",
        {
          "chartPath": ".",
          "chartRepository": {
            "branch": "gh-pages",
            "url": "<gh_pages_url>",
            "repository": "brpaz/chartRepo"
          }
        }
      ]
  ]

The following plugin options are supported:

  • chartPath: Required - Indicates the path to your the root of your Chart. (It should point to the directory containing the Chart.yaml file)
  • chartRepository.branch: Indicates the branch where the repository will be published. Defaults to gh-pages
  • chartRepository.repository: The repository name where the chart will be published in the format: "".
  • chartRepository.url: The public url of the GitHub Pages. This is used to fetch the current chart index.

For more information, please see Semantic Release documentation

For an example to use with GitHub Actions:

name: CI
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Semantic Release
        uses: cycjimmy/semantic-release-action@v2
        with:
          extra_plugins: |
            @brpaz/semantic-release-helm
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Author

👤 Bruno Paz

🤝 Contributing

Contributions, issues and feature requests are welcome!

💛 Support the project

If this project was useful to you in some form, I would be glad to have your support. It will help to keep the project alive and to have more time to work on Open Source.

The sinplest form of support is to give a ⭐️ to this repo.

You can also contribute with GitHub Sponsors.

GitHub Sponsors

Or if you prefer a one time donation to the project, you can simple:

Buy Me A Coffee

📝 License

Copyright © 2020 Bruno Paz.

This project is MIT licensed.

Readme

Keywords

Package Sidebar

Install

npm i @brpaz/semantic-release-helm

Weekly Downloads

1

Version

1.1.0

License

MIT

Unpacked Size

26.6 kB

Total Files

26

Last publish

Collaborators

  • brpaz