helm upgrade: Command Reference for CI/CD
The idempotent Helm deploy: upgrade, or install if absent.
helm upgrade --install is the standard CI deploy command: it upgrades an existing release or installs it on first run, in one idempotent step. This reference covers the gating flags and a deploy example built around an immutable tag.
Common flags and usage
- upgrade --install <release> <chart>: idempotent upgrade-or-install
- -f values.yaml / --set k=v: override values
- --wait: block until resources are Ready
- --atomic: roll back to the prior release on failure
- --timeout 5m: bound the wait
- --reuse-values / --reset-values: control value carry-over
Example
shell
helm upgrade --install web ./charts/web \
--namespace prod \
--set image.tag=${IMAGE_TAG} \
--wait --atomic --timeout 5mIn CI
upgrade --install removes the "does this release exist yet?" branch from your pipeline. --atomic rolls the release back to the last good revision if the upgrade fails, and --wait gates on readiness. Set image.tag to an immutable value (commit SHA) so each deploy is a real change. Latchkey managed runners give each deploy job a clean, ephemeral environment for this step.
Key takeaways
- upgrade --install is the idempotent deploy: one command for both cases.
- --atomic + --wait + --timeout make the deploy self-gating and self-healing.
- Pin image.tag to an immutable SHA so upgrades are real changes.
Related guides
Helm Cheat Sheet: Charts, Releases & UpgradesA Helm cheat sheet - install, upgrade, rollback, template, repo, and dependency commands for managing Kuberne…
helm install: Command Reference for CI/CDReference for helm install: install a chart as a release, set values, and use --wait and --atomic so a failed…
helm rollback: Command Reference for CI/CDReference for helm rollback: revert a release to a previous revision, find the target with helm history, the…
helm status: Command Reference for CI/CDReference for helm status: inspect a release state, revision, and resources, machine-readable output for CI a…