Simple Chef Cookbook to Install Jenkins
Cookbooks Require Tweaking
Chef Cookbooks are a great way to define server resources. You can abstract configuration across Linux distributions, creates a standardized format for defining resources, and has plenty of flexibility for configuration. Chef is pretty new on the scene, and a lot of best-practices are still being defined and refined. Here are a reason I end up tweaking all but the most trivial cookbooks.
1) Appropriate abstraction
The sweet-spot of abstraction for Chef cookbooks is a best-practice that is still unknown. The official Opscode cookbooks are meant to work for everyone, across distros, which means they are full of case statements for Fedora, RHEL, Debian, Ubuntu, etc. This cross-distro abstraction serves a purpose, but in my world it only adds clutter.
Take the Opscode Java cookbook for example, which had known bugs and oddities relating to installing OpenJDK vs. the Sun JDK. For most circumstances, you'll only run one JDK across your entire system, and dealing with bugs to configure the Sun JDK over the default is a waste of time. Take joy in excising unnecessary recipe abstraction.
Many third-party cookbooks aren't abstract enough, intermingling configuration of dependencies that you have already pulled into a separate, configurable cookbook.
2) They run as root
Additionally, you should really take a good look at anything that will run as root on your system.
3) My inner sysadmin is getting particular
Configure enough systems, and you start to get particular. I, for example, dislike creating non-system users (users with home directories) for applications. /home is for humans, if you ask me. Anyway, right or wrong, I browse through new cookbooks, editing away things that would work, but don't suit to my style.
Bare-bones Jenkins
I wanted to install Jenkins, but the only cookbook I could find violated all three of these principles (extra clutter, runs-as-root, and did stuff I didn't like). Granted the other cookbook has more features, but this is a good place to get started.

August 3rd, 2011 - 18:41
https://github.com/fujin/chef-jenkins
August 3rd, 2011 - 18:41
Oh, it’s in your comments. D’oh.