Skip Navigation
Resources Blog How to use Sonatype Nexus Repository and Helm for CI/CD

How to use Sonatype Nexus Repository and Helm for CI/CD

Helm makes templating applications easy

Helm makes the versioning of Kubernetes applications possible

Helm makes reusing and sharing possible

Helm makes deploying Kubernetes applications concise

Helm makes dependency management possible

Helm helps enforce standards

The three big concepts of Helm

Helm charts

Helm release

Helm repositories

charts/
|
|- index.yaml
|
|- alpine-0.1.2.tgz
|
|- alpine-0.1.2.tgz.prov

CI/CD with Docker and Helm

Hosting a Helm repository on Sonatype Nexus Repository

Installing the nexus-repository-helm plugin on Sonatype Nexus Repository

<feature version="3.x.y">nexus-repository-p2</feature>
+ <feature version="<plugin_version>">nexus-repository-helm</feature>
<feature version="3.x.y.xy">nexus-repository-raw</feature>
</feature>
+ <feature name="nexus-repository-helm" description="org.sonatype.nexus.plugins:nexus-repository-helm" version="<plugin_version>">
+ <details>org.sonatype.nexus.plugins:nexus-repository-helm</details>
+ <bundle>mvn:org.sonatype.nexus.plugins/nexus-repository-helm/<plugin_version></bundle>
+ </feature>
view raw feature.xml hosted with ❤ by GitHub

Creating the Helm-hosted repository

Select recipe

Helm02-CreateRepo

Create repository

Helm03-HelmHosted

Helm-hosted repository

Testing the setup

Accessing the Helm repository

Pushing Helm charts to Sonatype Nexus Repository

Browse the helm-hosted repository to see your asset uploaded.

Helm04-AssetUploadAsset uploaded

Check the index.yaml file, and you will find it's been auto-updated.

apiVersion: '1.0'
entries:
confluence:
- appVersion: '1.0'
created: 2020-01-22T00:32:09.685Z
description: A Helm chart for Kubernetes
digest: 6b9d3af7bb90b9b74a979ea2d59219ed44bf12f9417b8393f60141bcd7d48f80
name: confluence
urls:
- confluence-0.1.0.tgz
version: 0.1.0
bitbucket:
- appVersion: '1.0'
created: 2020-01-22T12:58:13.745Z
description: A Helm chart for Kubernetes
digest: cbf722c56ea23194297e8171d8d4bff5a03622692c634cf3efe4ca00307fa013
name: bitbucket
urls:
- bitbucket-0.1.0.tgz
version: 0.1.0
postgres:
- appVersion: '1.0'
created: 2020-01-22T12:58:49.030Z
description: A Helm chart for Kubernetes
digest: b35747ca5cb756aea7a7bc97784f56875c94151c7ea7258ac1fb82db35f8020c
name: postgres
urls:
- postgres-0.1.0.tgz
version: 0.1.0
jira:
- appVersion: '1.0'
created: 2020-01-22T00:30:20.988Z
description: A Helm chart for Kubernetes
digest: f401bbd827623ac5a7b3f8ea22f14785d2a399e2766168ef7152edae3bd766ab
name: jira
urls:
- jira-0.1.0.tgz
version: 0.1.0
generated: 2020-03-26T13:02:59.701Z
view raw index.yaml hosted with ❤ by GitHub

Installing Helm charts from Sonatype Nexus Repository

If everything goes well, Helm will download the chart from Sonatype Nexus Repository and install it on your Kubernetes cluster.

Originally published on Medium

Picture of Gaurav Agarwal

Written by Gaurav Agarwal

Certified Enterprise Cloud, Integration and DevOps Architect, Tech Enthusiast, and Author.