In today's post on Jenkins, let us learn how to take regular backups of our Jenkins environment configuration. There are a bunch of plugins out there which can help take thin and/or thick backups. But in our post we learn to take backups using a custom batch script.
We write a simple batch file which recursively takes backup of all Jenkins jobs and saves them in the destination directory. Later we set up a Windows scheduler job to execute this batch file daily.
rem IroncladZone
echo OFF
set today=%DATE:~7,2%%DATE:~4,2%%DATE:~10,4%
set url=http://17.16.18.14:8080/jenkins/
set dest_dir=C:\Jenkins_Jobs_backup\
cd /d "C:\Program Files (x86)\Jenkins\jobs"
FOR /D %%i IN (*) DO (
echo "Backing up %%i.xml"
"C:\Program Files\Java\jdk1.8.0_45\bin\java" -jar jenkins-cli.jar -s %url% get-job "%%i" > "%dest_dir%/%%i_%today%.xml"
echo "Successfully backup %%i.xml"
)
Note for taking backups, we use Jenkins' command line utility i.e jenkins-cli.jar. With this we save the Jenkins job configuration .xml file at the destination folder. Note that we append this .xml file name with today's date time-stamp so that we could easily identify it later.
Now all we have to do is set a Windows task scheduler job which runs this batch file to take backups at say 12:00 noon daily.
Hope it helps folks. Ciao!
We write a simple batch file which recursively takes backup of all Jenkins jobs and saves them in the destination directory. Later we set up a Windows scheduler job to execute this batch file daily.
rem IroncladZone
echo OFF
set today=%DATE:~7,2%%DATE:~4,2%%DATE:~10,4%
set url=http://17.16.18.14:8080/jenkins/
set dest_dir=C:\Jenkins_Jobs_backup\
cd /d "C:\Program Files (x86)\Jenkins\jobs"
FOR /D %%i IN (*) DO (
echo "Backing up %%i.xml"
"C:\Program Files\Java\jdk1.8.0_45\bin\java" -jar jenkins-cli.jar -s %url% get-job "%%i" > "%dest_dir%/%%i_%today%.xml"
echo "Successfully backup %%i.xml"
)
Note for taking backups, we use Jenkins' command line utility i.e jenkins-cli.jar. With this we save the Jenkins job configuration .xml file at the destination folder. Note that we append this .xml file name with today's date time-stamp so that we could easily identify it later.
Now all we have to do is set a Windows task scheduler job which runs this batch file to take backups at say 12:00 noon daily.
Hope it helps folks. Ciao!
No comments:
Post a Comment