jenkins-backup-restore-cli tool to backup and restore Jenkins_home in python
jenkins-backup-restore-cli module takes a backup of the jenkins home directory and restores it as required.
_ _ _ ____ _
| | | | (_) | _ \ | |
| | ___ _ __ | | ___ _ __ ___ | |_) | __ _ ___| | ___ _ _ __
_ | |/ _ \ '_ \| |/ / | '_ \/ __| | _ < / _` |/ __| |/ / | | | '_ \
| |__| | __/ | | | <| | | | \__ \ | |_) | (_| | (__| <| |_| | |_) |
\____/ \___|_| |_|_|\_\_|_| |_|___/ |____/ \__,_|\___|_|\_\\__,_| .__/
| |
|_|
_____ _ _____ _ _
| __ \ | | / ____| (_)
| |__) |___ ___| |_ ___ _ __ ___ | | | |_
| _ // _ \/ __| __/ _ \| '__/ _ \ | | | | |
| | \ \ __/\__ \ || (_) | | | __/ | |____| | |
|_| \_\___||___/\__\___/|_| \___| \_____|_|_|
Run the following command to install the jenkins-backup-restore-cli,
pip3 install jenkins-backup-restore-cli
The jenkins-backup-restore-cli tool will backup the jenkins_home directory as well as restores it.
--persist-tmp-archive
)--persist-tmp-archive
)jenkins-backup-restore-cli common options for both backup and restore,
--version
Shows version number of the package
jenkins-backup-restore-cli --version
--custom-archive-name
To create a backup tarfile with the custom name,
jenkins-backup-restore-cli --custom-archive-name my-backup
Note: If not provided, it will backup with the default name (default: jenkins_backup.tar.gz)
--jenkins-home-dir
--jenkins-home-dir
. /var/jenkins_home
)JENKINS_HOME
environment variable.
jenkins-backup-restore-cli --jenkins-home-dir /var/lib/jenkins
Note: 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.
To 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 backup
jenkins-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 True
To 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 True
restore-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 True
Note: For any help, use
--help
flag.
A Dockerfile that has the jenkins-backup-restore-cli latest package installed on it.
A 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.md here.
All source code is hosted on GitHub. Contributions are welcome.
Contribution Guide here
Happy CI/CD!! 🚀