The Charm Store will undergo scheduled database maintenance on July 5, 2026 22:00 to July 6, 02:00 UTC. During this time, you may be unable to access charm and bundle metadata or publish updates. No user action is required and services will automatically resume once maintenance is complete.

Jenkins K8s

Platform:

Channel Revision Published Runs on
latest/stable 201 29 Sep 2025
Ubuntu 24.04 Ubuntu 22.04
latest/stable 200 29 Sep 2025
Ubuntu 24.04 Ubuntu 22.04
latest/edge 328 03 Jul 2026
Ubuntu 24.04 Ubuntu 22.04
latest/edge 327 03 Jul 2026
Ubuntu 24.04 Ubuntu 22.04
juju deploy jenkins-k8s

How to back up and restore Jenkins

A backup is a snapshot of the Jenkins data (jobs, configurations, secrets, plugins, etc.) at a given point in time. This backup can be used to:

  • Restore Jenkins to a previous stable state (during disaster recovery).
  • Migrate data to a new Jenkins charm instance.

Create a backup

  1. Create the backup script From Backing-up/Restoring Jenkins, This script backs up the most essential files as mentioned in the article:
  • The master.key file.
  • Job-related files in the ./jobs, ./builds and ./workspace folders.
  • Plugin-related files (.hpi and .jpi) in the ./plugins folder.
cat <<EOF > backup.sh
#!/bin/bash
export JENKINS_HOME=/var/lib/jenkins
export JENKINS_BACKUP=/mnt/backup

echo "running backup as \$(whoami) in \$(pwd)"
mkdir -p \$JENKINS_BACKUP
cp \$JENKINS_HOME/secrets/master.key \$JENKINS_BACKUP
cp -r \$JENKINS_HOME/jobs \$JENKINS_BACKUP
cp -r \$JENKINS_HOME/builds \$JENKINS_BACKUP
cp -r \$JENKINS_HOME/workspace \$JENKINS_BACKUP
mkdir -p \$JENKINS_BACKUP/plugins
cp -r \$JENKINS_HOME/plugins/*.hpi \$JENKINS_BACKUP/plugins
cp -r \$JENKINS_HOME/plugins/*.jpi \$JENKINS_BACKUP/plugins

chown -R 2000:2000 \$JENKINS_BACKUP
tar zcvf jenkins_backup.tar.gz --directory=/mnt backup
EOF

chmod +x backup.sh
  1. Transfer the backup script above to the running unit of the Jenkins-k8s charm and run it
JENKINS_UNIT=jenkins-k8s/0
juju scp --container jenkins ./backup.sh $JENKINS_UNIT:/backup.sh
juju ssh  --container jenkins $JENKINS_UNIT /backup.sh
  1. Retrieve the compressed backup file
JENKINS_UNIT=jenkins-k8s/0
juju scp --container jenkins $JENKINS_UNIT:/jenkins_backup.tar.gz jenkins_backup.tar.gz

You now have the compressed Jenkins data on your host system.

Restore the backup on a new (or existing) charm instance

  1. Restore the backup on the Jenkins charm unit.
JENKINS_UNIT=jenkins-k8s/0
juju scp --container jenkins ./jenkins_backup.tar.gz $JENKINS_UNIT:/jenkins_backup.tar.gz
juju ssh --container jenkins $JENKINS_UNIT tar zxvf jenkins_backup.tar.gz
juju ssh --container jenkins $JENKINS_UNIT chown -R jenkins:jenkins /backup
juju ssh --container jenkins $JENKINS_UNIT cp -avR /backup/* /var/lib/jenkins
juju ssh --container jenkins $JENKINS_UNIT rm -rf /backup /jenkins_backup.tar.gz
  1. Restart Pebble for the changes to take effect.
juju ssh --container jenkins $JENKINS_UNIT pebble restart jenkins

Help improve this document in the forum (guidelines). Last updated 1 year, 3 months ago.