helmboot
Helmboot is a small command line tool for System Administrators install / upgrade either Jenkins and / or Jenkins X via GitOps and immutable infrastructure.
Helmboot is based on helm 3.x and helmfile under the covers.
Helmboot uses the Jenkins Operator to setup as many Jenkins servers are required in whatever namespaces via GitOps.
Using Jenkins and / or Jenkins X
You can choose whether to use purely Jenkins; purely Jenkins X or a combination of Jenkins and Jenkins X. You also have full flexibility in GitOps to decide which Apps are installed in which namespaces etc.
Creating a new installation
First create your kubernetes cluster. If you are using Google Cloud you can try using gcloud directly.
If not try the usual Jenkins X way.
Now run the helmboot create
command:
helmboot create
If you want to manage Jenkins servers via GitOps and the Jenkins Operator then use:
helmboot create --jenkins
This will create a new git repository for your installation.
Once that is done you need to run the boot Job
Setting up Secrets
We don't yet have a nice helmboot
CLI option to let you populate secrets.
Until then please follow the gcloud setup instructions
Running the boot Job
Once you have created your git repository via helmboot create
or helmboot upgrade
you can run the boot Job
via:
helmboot run
This will use helm to install the boot Job and tail the log of the pod so you can see the boot job run
jx install
or jx boot
cluster on helm 2.x
Upgrading a You can use the helmboot upgrade
command to help upgrade your existing Jenkins X cluster to helm 3 and helmfile.
Connect to the cluster you wish to migrate and run:
helmboot upgrade
and follow the instructions.
If your cluster is using GitOps the command will clone the development git repository to a temporary directory, modify it and submit a pull request.
If your cluster is not using GitOps then a new git repository will be created.
Upgrading your cluster
Once you have the git repository for the upgrade you need to run the boot Job in a clean empty cluster.
To simplify things you may want to create a new cluster, connect to that and then boot from there. If you are happy with the results you can scale down/destroy the old one