Jenkins Best Practices
Polling must die (Trigger a build due to pushes instead of poll the repository every x minutes)
Use Log Rotator (Not using log rotator can result in disk space problems on the master)
Use slaves/labels (Jobs should be defined where to run)
Don’t build on the master (In larger systems, don’t build on the master)
Enforce plugin usage (For example: Timestamp, Mask-Passwords)
Naming sanity (Limit project names to a sane (e.g. alphanumeric) character set)
Analyze Groovy Scripts (For example: Prevent System.exit(0) in System Groovy Scripts)
Hardware Recommendations
https://go.cloudbees.com/docs/cloudbees-documentation/cookbook/book.html#_architecting_for_scale
Additional Links:
https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+Best+Practices
https://www.slideshare.net/GergelyBrautigam/jenkins-best-practices