====== Backup of jenkins.freebsd.org ====== ===== Backing up Jenkins config files ===== ==== Backup to local repository ==== - On Jenkins server, Create local git repository at /usr/local/jenkins-config git init --bare /usr/local/jenkins-config/ chown -R jenkins:jenkins /usr/local/jenkins-config/ - Edit project description echo freebsd/jenkins-config > /usr/local/jenkins-config/description - Create hook script cp /usr/local/share/git-core/contrib/hooks/post-receive-email /usr/local/jenkins-config/hooks/post-receive - Add following section in /usr/local/jenkins-config/config: [hooks] mailinglist = jenkins-admin@FreeBSD.org envelopesender = jenkins-admin@FreeBSD.org emailprefix = "[freebsd/jenkins-config] " emailmaxlines = 1000 showrev = "git show -C %s; echo" - Install the [[https://wiki.jenkins-ci.org/display/JENKINS/SCM+Sync+configuration+plugin|SCM Sync Configuration Plugin]] - Configure SCM Sync to backup to file:%%//%%/usr/local/jenkins-config - Set up SCM Sync logging as recommended on [[https://wiki.jenkins-ci.org/display/JENKINS/ScmSyncConfig+Troubleshootings|SCM Sync Troubleshooting]] page ==== Backup to github (use with caution, sensitive data might be also published) ==== - On Jenkins server, use ssh-keygen to create an SSH key under the jenkins user ID: ~jenkins/.ssh/id_rsa_github - On Jenkins server, add to ~jenkins/.ssh/config Host github Hostname github.com User git IdentityFile /usr/local/jenkins/.ssh/id_rsa_github - On github configuration page for freebsd/jenkins-config , add id_rsa_github.pub as a Deployment Key - Install the [[https://wiki.jenkins-ci.org/display/JENKINS/SCM+Sync+configuration+plugin|SCM Sync Configuration Plugin]] - Configure SCM Sync to backup to https://github.com/freebsd/jenkins-config - Set up SCM Sync logging as recommended on [[https://wiki.jenkins-ci.org/display/JENKINS/ScmSyncConfig+Troubleshootings|SCM Sync Troubleshooting]] page ===== Backing up of Jenkins hosts ===== TBD