Package: jenkins-backup-restore-cli
jenkins-backup-restore-cli module takes a backup of the jenkins home directory and restores it as required._            _    _             ____             _
     | |          | |  (_)           |  _ \           | |
     | | ___ _ __ | | ___ _ __  ___  | |_) | __ _  ___| | ___   _ _ __
 _   | |/ _ \ '_ \| |/ / | '_ \/ __| |  _ < / _` |/ __| |/ / | | | '_ \
| |__| |  __/ | | |   <| | | | \__ \ | |_) | (_| | (__|   <| |_| | |_) |
 \____/ \___|_| |_|_|\_\_|_| |_|___/ |____/ \__,_|\___|_|\_\\__,_| .__/
                                                                 | |
                                                                 |_|
 _____           _                    _____ _ _
|  __ \         | |                  / ____| (_)
| |__) |___  ___| |_ ___  _ __ ___  | |    | |_
|  _  // _ \/ __| __/ _ \| '__/ _ \ | |    | | |
| | \ \  __/\__ \ || (_) | | |  __/ | |____| | |
|_|  \_\___||___/\__\___/|_|  \___|  \_____|_|_|Prerequisitespython2.7 or higherpip or pip3InstallationRun the following command to install the jenkins-backup-restore-cli,pip3 install jenkins-backup-restore-cliWhat does it do?The jenkins-backup-restore-cli tool will backup the jenkins_home
directory as well as restores it.BackupThe backup module will look for a jenkins-home directoryTar it into a temporary directory.Copy the tarfile to an user specified location or to a AWS s3 bucket.Delete the temporary directory (can be persisted with--persist-tmp-archive)RestoreThe restore module will look for a jenkins-home directory that needs
to be restoredcreate a tmp directory and copy the tarfile or download the tarfile
from an s3 bucket to it.Untar the tarfile in that temporary directoryMake a copy of existing jenkins_home directoryReplace the old jenkins_home with the untarred jenkins_homeDelete the temporary directoryBackup and restorejenkins-backup-restore-cli common options for both backup and restore,Common Options--versionShows version number of the packagejenkins-backup-restore-cli --version--custom-archive-nameTo create a backup tarfile with the custom name,jenkins-backup-restore-cli --custom-archive-name my-backupNote: If not provided, it will backup with the default name (default:
jenkins_backup.tar.gz)--jenkins-home-diruser should provide a--jenkins-home-dir.If the user specified directory does not exists, tool looks for a
default location (default:/var/jenkins_home)If the default location does not exists, the tool will look for anJENKINS_HOMEenvironment variable.jenkins-backup-restore-cli --jenkins-home-dir /var/lib/jenkinsNote: In above each step the tool will throw a warning and throws an
error if environment variable does not exists or the path set in the
value does not exists.CommandsBackup CommandsTo backup jenkins_home, either one of the following commands with
arguments can be used,backup-local- Take a backup in the local machine (same machine
where jenkins is running)--backup-destination-path, local path to store the backupjenkins-backup-restore-cli --jenkins-home-dir <jenkins_home> backup-local --backup-destination-path <local-path>backup-s3- Take a backup and push it to an s3 bucket--backup-bucket-name, s3 bucket name to store the backup.--persist-tmp-archive, persists(True) or delete(False) the
archive, in the temporary path once the archive pushed to s3
bucket (default:False)jenkins-backup-restore-cli --jenkins-home-dir <jenkins_home> backup-s3 --backup-bucket-name <bucket-name> --persist-tmp-archive TrueRestore CommandsTo restore jenkins_home, either one of the following commands with
arguments can be used,restore-local- Restore from a local jenkins backup tarfile--restore-archive-path, local path to the backup tarfile--persist-tmp-archive, persists(True) or delete(False) the
archive in the temporary path once the archive is extracted to
jenkins_home (default:False)jenkins-backup-restore-cli --jenkins-home-dir <jenkins_home> restore-local --restore-archive-path <path-to-backup-tarfile> --persist-tmp-archive Truerestore-s3- Restore from a s3 bucket--restore-bucket-name, bucket name to download the archive
from--restore-archive-download-path, local path to download the
archive from s3 bucket--persist-tmp-archive, persists(True) or delete(False) the
archive in the temporary path once the archive is extracted to
jenkins_home (default:False)jenkins-backup-restore-cli --jenkins-home-dir <jenkins_home> restore-s3 --restore-bucket-path <bucket-name> --restore-archive-download-path <local-path-to-download-tarfile> --persist-tmp-archive TrueNote: For any help, use--helpflag.DockerfileADockerfilethat has the jenkins-backup-restore-cli latest package
installed on it.Helm ChartA Helm chart for the jenkins-backup-restore-cli tool to perform backup
and restore on Jenkins pod running in a Kubernetes cluster, find a
README.mdhere.ContributionsAll source code is hosted onGitHub. Contributions are welcome. Contribution GuidehereHappy CI/CD!! 🚀