My experience with automating CI farms has been considerably harder than
dedicated application or data base servers. I have automated both jenkins &
GoCD with Chef in past. Now I use GoCD exclusively. My advice will be:
Start with the community jenkins cookbook, see how far those take you.
There are bits and pieces of jenkins that are in xml and changes with
jenkins server’s lifespan (i.e. jenkins itself writes xml bits on those
files), but the initial bits has to be seeded for automation. I had written
xml_file cookbook to deal with those scenarios (some parts are managed by
chef)
Do not automate the bits that changes frequently (certain plugins), or
substantial information is not available. Automating those tend to hose the
system or gives non-idempotent resources.
My understanding is that your problem is in getting your build artifacts out of the jenkins build and available to chef.
Without knowing more about your infrastructure I'd recommend that jenkins place the build artifact into a location that is accessible via http that the chef-client can check during a node run. Something that allows you to use a remote_file resource in chef to pull down the build artifact and then do a notify to the recipe that installs the artifact.
I agree with sclarson, it sound to me like you need an artifact store.
Nexus is pretty good for a free tool, and https://github.com/RiotGamesCookbooks/artifact-cookbook is pretty great for
retrieving artifacts. Artifactory also has a free offering. Jenkins would
build code, and deploy it to Nexus or Artifactory. You can use the
artifact cookbook for retrieving those artifacts and deploying.