After years of use I've come up with some improvements to the
`JENKINS_HOME.gitignore` example.
- Major performance improvement: On very large Jenkins installations that
have been running for more than one year, there tends to be many builds
(hundreds of thousands of builds). The `builds` directory of these
jobs contain millions of files which would cause Git to hang for
several minutes on simple commands like `git status` and longer for
committing changes. `strace` was used on Git to figure out the
performance impact and this proposed change includes the optimization.
I also added a clear comment explaining the line's purpose.
- There's an example for how to include Jenkins encryption keys, and
there's a disclaimer informing the user why they shouldn't but still
giving an example.
- Comments have been reworded and slightly reformatted to be a little
more clear.
* gitignore for JENKINS_HOME Jenkins settings
This allows an admin to use git to keep a backup of Jenkins settings
without tracking binary artifacts. Useful for preserving settings during
plugin upgrades.
Note: secret.key is purposefully not tracked by git. This should be
backed up separately because configs may contain secrets which were
encrypted using the secret.key.
See also:
* http://jenkins-ci.org/
* https://wiki.jenkins-ci.org/display/JENKINS/Administering+Jenkins
* Add a few entries to Jenkins gitignore