I'm trying to integrate my chef workflow to my usual continuous integration/deployment workflows.
I managed already to have a jenkins task which checks out the git repo and runs foodcritic but i can't figure out the last step: to push to cookbook to the chef server.
some ideas i thought of:
- use knife: the problem is, that on the building nodes of my jenkins-server there is no knife installed and AFAIK knife needs a cookbook directory from which it would push the cookbook. On the other side i don't consider it a good practice to let the jenkins user execute all knife commands
- use the knife ruby-gem and write some ruby-script to be used by jenkins: might work but i didn't want to experiment with that, because i don't think it is the best option anyway
- make some REST-API calls with cURL or any similar library. After reading through the API-docs i don't think it's worth the hassle to implement that.
My the building node would be available as OSX and debian – if this is essential for my possible tool of choice.
So any experience would be appreciated!