0Pricing
Helm Academy · Lesson

Publishing Charts from a Release Job

Packaging and pushing on a tagged build.

Publishing Charts from a Release Job is a free Helm Academy lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Helm Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Ship Charts Automatically

When you tag a release, your pipeline should package the chart and publish it so teammates and clusters can pull the new version. 📦

Trigger Only on a Tag

Scope the publish step to run on a version tag, not every commit. That keeps your chart repository free of throwaway development builds.

Bump the Chart Version First

The version field in Chart.yaml must increase for each publish. Helm and OCI registries reject re-pushing an existing immutable version.

version: 1.4.2
appVersion: "2.3.0"

Package Into a tgz

The helm package command bundles your chart directory into a versioned .tgz archive named from its chart name and version.

helm package ./mychart

Publishing to an OCI Registry

Modern Helm pushes charts to OCI registries like GHCR, the same place your container images live. First authenticate the CLI.

helm registry login ghcr.io -u $USER --password-stdin

Push the Archive

Use helm push to send the .tgz to an OCI repository path. The chart is now installable directly with an oci:// reference.

helm push mychart-1.4.2.tgz oci://ghcr.io/myorg/charts

The Classic Repo Alternative

For an HTTP repository instead, regenerate the index.yaml so clients can discover the new chart version after you upload the tgz.

helm repo index . --url https://charts.example.com

Use a Scoped CI Token

Authenticate the job with a short-lived token from your CI secrets, never a personal password baked into the pipeline file.

chart-releaser for GitHub Pages

The chart-releaser tool packages charts and updates an index hosted on GitHub Pages, a popular zero-server way to serve charts.

Sign on Publish

Optionally sign the archive during the job so consumers can verify provenance. Signing fits naturally into the same release step as the push.

helm package ./mychart --sign --key mykey

Match the Chart and App Versions

Set appVersion to the application release you are shipping while bumping the chart version. Keeping both honest helps consumers pick the right build.

Quick Check

Your release job has a packaged tgz. Which command publishes it to an OCI registry?

Recap: Automated Chart Releases

On a tag, bump the version, helm package, then push to an OCI registry or update index.yaml. New charts ship with zero manual steps. ✅

Frequently asked questions

Is the “Publishing Charts from a Release Job” lesson free?

Yes — the full text of “Publishing Charts from a Release Job” is free to read here on the web, and the Helm Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Helm Academy course, upgrade to CoddyKit PRO.

What will I learn in “Publishing Charts from a Release Job”?

Packaging and pushing on a tagged build. You practise Helm Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Helm Academy?

No prior experience is required. Helm Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Publishing Charts from a Release Job” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Helm Academy lesson?

Yes. Every Helm Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Lint and Template Gates in CI
  2. Previewing Changes with helm diff
  3. Automated Deploys with upgrade --install --atomic
  4. Publishing Charts from a Release Job
← Back to Helm Academy