- From: Torben Knerr <
>
- To:
- Subject: [chef] What is the cookbook development workflow in your team?
- Date: Wed, 4 Jan 2012 20:58:00 +0100
Hi everybody,
Happy New Year! :-)
This is my first post to this mailing list. I'm trying to implement a proper workflow for developing cookbooks within a small team. Coming from a slightly different background (Java, Maven and the like) I'm looking for some experience on how to implement a typical develop/test/release cycle in a Chef environment.
So, assuming you are developing cookbooks in a team, how would you go for adding a new feature to a cookbook:
(a) develop -> test (using Vagrant/Chef Solo) -> repeat develop/fix/test cycle until done -> upload to team's chef server
(b) develop -> test (upload to a private chef server) -> repeat develop/fix/test cycle until done -> upload to team's chef server
(c) develop -> test (upload directly to team's chef server) -> repeat develop/fix/test cycle until done
I'm especially interested in:
1) at which point in time do you share your sources (git push)?
- are you working on feature branches, then merge + push when done?
- when do you increase the cookbook version? in the commit where you merge back to master?
- when do you create the tag? everytime you commit something on master?
2) at which point in time do you upload the cookbook to the team's chef server (knife upload)?
- whenever you want to test something?
- strictly only after creating a tag (i.e. releases only)?
- do you always freeze uploaded cookbooks?
- do you allow to overwrite cookbooks at all?
3) how do you handle releases?
- is every upload to the chef repository automatically a (public?) release for you?
- do you have the release process (roughly: "run tests -> create tag -> upload cookbook") automated?
- how do you handle cookbook dependencies when you release? do you allow for versionless cookbook depends?
Eager to hear your experiences. Any help is appreciated!
Cheers,
Torben
- [chef] What is the cookbook development workflow in your team?, Torben Knerr, 01/04/2012
Archive powered by MHonArc 2.6.16.