0Pricing
DevOps Bootcamp · Lesson

Helm Charts and Kubernetes Manifests in CI/CD

Package and version Kubernetes deployments with Helm charts, template configuration per environment, and automate chart releases from GitHub Actions.

Helm Charts and Kubernetes Manifests in CI/CD is a free DevOps Bootcamp 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 DevOps Bootcamp learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

The Manifest Sprawl Problem

Deploying to Kubernetes means writing many YAML manifests: Deployments, Services, ConfigMaps, Ingresses. Copying them per environment quickly becomes unmanageable.

Helm solves this by packaging manifests into a reusable, versioned chart.

What is Helm

Helm is the package manager for Kubernetes. A chart is a bundle of templated manifests plus default values.

  • Chart.yaml — chart metadata and version
  • values.yaml — default configuration
  • templates/ — manifest templates

Chart Structure

A typical chart directory looks like this. Helm renders the templates using the values to produce final Kubernetes YAML.

mychart/
  Chart.yaml
  values.yaml
  templates/
    deployment.yaml
    service.yaml

Templating with Values

Templates use placeholders that pull from values.yaml. This lets one template serve many environments.

# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

Per-Environment Values

Keep a separate values file per environment and pass it at install time. Staging might run 1 replica, production 5.

helm upgrade --install myapp ./mychart \
  -f values-prod.yaml \
  --namespace production

Install vs Upgrade

The helm upgrade --install command is idempotent: it installs the release if it does not exist, or upgrades it if it does.

This single command is ideal for CI/CD because it works on both first and subsequent deploys.

Setting the Image Tag in CI

In CI you typically inject the freshly built image tag (often the commit SHA) using --set.

This ties the Kubernetes release to the exact artifact your pipeline just produced.

  - run: |
      helm upgrade --install myapp ./mychart \
        --set image.tag=${{ github.sha }}

Linting Charts

Before deploying, validate the chart with helm lint and render it with helm template to catch YAML or templating errors early.

  - run: helm lint ./mychart
  - run: helm template myapp ./mychart -f values-prod.yaml

Rollbacks with Helm

Helm tracks every release as a numbered revision. If a deploy goes wrong you can roll back instantly.

This pairs well with disaster recovery practices because it is fast and deterministic.

helm history myapp
helm rollback myapp 3

Packaging and Publishing

Charts can be packaged into versioned archives and pushed to a chart repository or an OCI registry, just like container images.

This lets other teams consume your chart by version.

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

A Helm Deploy Job

Putting it together: authenticate to the cluster, set up Helm, then upgrade. The Azure setup-helm action installs the CLI on the runner.

  - uses: azure/setup-helm@v4
  - run: |
      helm upgrade --install myapp ./mychart \
        -f values-prod.yaml \
        --set image.tag=${{ github.sha }} \
        --wait

Quick Check

Test your understanding of Helm in CI/CD.

Recap

You learned to deploy Kubernetes apps with Helm.

  • Charts package templated manifests plus values.yaml
  • Per-environment values files configure staging vs production
  • helm upgrade --install is the idempotent CI deploy command
  • Revisions enable instant rollbacks, and charts can be published like images

Helm turns raw manifests into versioned, reusable releases.

Frequently asked questions

Is the “Helm Charts and Kubernetes Manifests in CI/CD” lesson free?

Yes — the full text of “Helm Charts and Kubernetes Manifests in CI/CD” is free to read here on the web, and the DevOps Bootcamp 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 DevOps Bootcamp course, upgrade to CoddyKit PRO.

What will I learn in “Helm Charts and Kubernetes Manifests in CI/CD”?

Package and version Kubernetes deployments with Helm charts, template configuration per environment, and automate chart releases from GitHub Actions. You practise DevOps Bootcamp 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 DevOps Bootcamp?

No prior experience is required. DevOps Bootcamp 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 “Helm Charts and Kubernetes Manifests in CI/CD” 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 DevOps Bootcamp lesson?

Yes. Every DevOps Bootcamp 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. Building Docker Images with Actions
  2. Pushing Images to Registries
  3. Deploying to Kubernetes with Actions
  4. Helm Charts and Kubernetes Manifests in CI/CD
← Back to DevOps Bootcamp