Migrate your CloudBees CI instance on Kubernetes to Helm

1 minute read

To migrate your existing CloudBees CI installation to Helm:

  1. Ensure you have installed Helm, as documented in Setting up the Helm client.

  2. Back up your operations center and $JENKINS_HOME directory.

  3. Ensure that the reclaim policy of the Persistent Volume for your operations center is set to Retain, and not Delete. To check this, run kubectl get pv and look under the RECLAIM POLICY column for the jenkins-home-cjoc-0 claim.

    $ kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pvc-6235d73e-4f47-4fff-905e-095c89e245fe 20Gi RWO Retain Bound default/jenkins-home-cjoc-0 standard 174m

    If the RECLAIM POLICY is Delete, change it to Retain by following Changing the reclaim policy of a PersistentVolume.

  4. Delete your existing operations center:

    $ kubectl delete -f cloudbees-ci.yml (1)
    1 Substitute the name of your most recently customized CloudBees CI YAML file for cloudbees-ci.yml.
  5. Install the CloudBees CI Helm chart by following Installing CloudBees CI.

  6. Once your CloudBees CI migration has completed, log in to your operations center with your previous passwords.

  7. The Kubernetes Pod for each of your controllers now requires a restart. This can be done using the Manage  Restart button in the operations center. Doing this ensures that the Kubernetes ServiceAccount and the Secret that was re-created as part of this Helm migration is picked up by each controller, which is required for the controller to be able to create new Kubernetes build agents.

For more information on running CloudBees CI on Kubernetes, refer to CloudBees CI on modern cloud platforms administration guide.