Sysadmins rejoice Jenkins is not just for developers! Don’t be afraid of Jenkins from it’s formal definition of being an “extendable open source continuous integration server.” Jenkins can be used for way more than just CI. Under the hood Jenkins is a powerful job framework, where a job in this sense can be loosely defined as an independent piece of executable code.
Here are just a few of the features that makes Jenkins such a powerful tool.
- Easy setup of fetching code from SCM’s. Everyone keeps their scripts in source control right? :-)
- Job scheduling (cron like)
- Job locking
- Job history
- Chain jobs together based on upstream and downstream dependencies
- Trigger events based on success or failure of a job. Like sending an email if the job fails
- A GUI and API to interact with
- User authentication and authorization
All of the features I listed above greatly reduces the amount of boilerplate and complexity from the scripts you write regardless of the language. This is was makes Jenkins such a viable replacement for crontab entries which is something I regularly do and recommend to other people.
Jenkin’s also makes it easy for you to lockdown jobs to only be executable by certain people via LDAP or other authentication methods. I’ve used it in such cases to give support folks a GUI with dropdown’s where they could easily restart clusters of application servers.
Lastly, one of the biggest wins for me is being able to centrally manage all your jobs and have them be visible to the entire organization. We’ve all been there when an employee has left the company and we all turn to each other and jokingly say “I hope we can delete their unix account.”
I hope this has helped turn you on to using Jenkins as more than just a build server!