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 ./mychartPublishing 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-stdinPush 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/chartsThe 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.comUse 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 mykeyMatch 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
- Lint and Template Gates in CI
- Previewing Changes with helm diff
- Automated Deploys with upgrade --install --atomic
- Publishing Charts from a Release Job