Simple Backup for Jenkins Config
Content of cronjob script:
#!/bin/bash
git config user.name || git config --global user.name "jenkins"
git config user.email || git config --global user.email "[email protected]"
cd ${JENKINS_HOME}
git add .
git add -u .
git status
git commit -m "auto-backup configuration changes"
git push origin master
Content of .gitignore file:
# Ignoring everything
*
# Except xml files in users and jobs
!/users/
!/users/*/
!/jobs/
!/jobs/*/
!/secrets/
!/secrets/*
!/secrets/*/
!/secrets/*/*
!/config-history
!/config-history/*
!/config-history/**/
!/config-history/**/*
!/plugins
!/plugins/*
!/plugins/**/
!/plugins/**/*
!/secret*
!/identity.key.enc
!*.xml
!.gitignore
!README.md
!cron.sh
!change-email.sh