I would like to be able to automate deployments to my Kubernetes cluster using Helm charts executed by Jenkins (as part of the build cycle). The Jenkins machine is on a separate network to the Kubernetes cluster (rather than part of it as documented in numerous blogs).
I have a chart repo hosted inside a private GitHub account. I followed the process here: https://hackernoon.com/using-a-private-github-repo-as-helm-chart-repo-https-access-95629b2af27c and was able to add it as a repo in Helm on an Azure server using a command of the format:
helm repo add sample 'https://[email protected]/kmzfs/helm-repo-in-github/master/'
I've been trying to get the ElasticBox Kubernetes CI/CD (v1.3) plugin inside Jenkins to connect to this chart repo, but whenever I press "Test Connection", I get a 400 Bad Request error. I have tried to enter the details in a variety of ways:
- Using the same format (and token) as above and no credentials
- Using the private token (same as in the query above) in the credentials, and the url of https://raw.githubusercontent.com/kmzfs/helm-repo-in-github/master/
- Using my username and password in the credentials, and the url of https://raw.githubusercontent.com/kmzfs/helm-repo-in-github/master/
I have this plugin to connect to the Kubernetes Cloud and it can connect to the repository at https://github.com/helm/charts and deploy a RabbitMQ container.
Is it possible to get this plugin to connect to a private Github repository as a chart repository, and if so, how do I go about doing so?
If not, is there an alternative means of deploying Helm charts (in a private repo) from Jenkins? I couldn't find any other plugins that used Helm.
Thanks Duncan