Using ChefDK on a CI server?


#1

Hi,

I try to set up a CI server using Jenkins for our cookbook testing and
finally uploading to Chef server.

Would you recommend to use ChefDK to run test-kitchen, Berkshelf and so
on, or should I use Bundler and respect the gem versions specified in
the Gemfile?

Thanks for your opinion
Steffen


#2

I’m actually just trying that out (right now blocked on Berkshelf problems)
myself with Bamboo. I am actually wondering if someone will write an
updater cookbook like omnibus-updater, and implement resources like
"chefdk_gem ‘knife-ec2’" would be viable so that the CI server config and
chefdk configurations could be managed under Chef.


~~ StormeRider ~~

“Every world needs its heroes […] They inspire us to be better than we
are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… http://bit.ly/Ps3uSS

On Sat, May 17, 2014 at 4:01 AM, Steffen Gebert st+gmane@st-g.de wrote:

Hi,

I try to set up a CI server using Jenkins for our cookbook testing and
finally uploading to Chef server.

Would you recommend to use ChefDK to run test-kitchen, Berkshelf and so
on, or should I use Bundler and respect the gem versions specified in
the Gemfile?

Thanks for your opinion
Steffen


#3

In regard to that:

I am actually wondering if someone […] implement resources like
"chefdk_gem"


:slight_smile:

Steffen

On 17/05/14 13:08, Morgan Blackthorne wrote:

I’m actually just trying that out (right now blocked on Berkshelf problems)
myself with Bamboo. I am actually wondering if someone will write an
updater cookbook like omnibus-updater, and implement resources like
"chefdk_gem ‘knife-ec2’" would be viable so that the CI server config and
chefdk configurations could be managed under Chef.


~~ StormeRider ~~

“Every world needs its heroes […] They inspire us to be better than we
are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… http://bit.ly/Ps3uSS

On Sat, May 17, 2014 at 4:01 AM, Steffen Gebert st+gmane@st-g.de wrote:

Hi,

I try to set up a CI server using Jenkins for our cookbook testing and
finally uploading to Chef server.

Would you recommend to use ChefDK to run test-kitchen, Berkshelf and so
on, or should I use Bundler and respect the gem versions specified in
the Gemfile?

Thanks for your opinion
Steffen


#4

Upvoted! :slight_smile:


~~ StormeRider ~~

“Every world needs its heroes […] They inspire us to be better than we
are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… http://bit.ly/Ps3uSS

On Sat, May 17, 2014 at 4:47 AM, Steffen Gebert st+gmane@st-g.de wrote:

In regard to that:

I am actually wondering if someone […] implement resources like
"chefdk_gem"

http://stackoverflow.com/questions/23680177/installing-gem-into-chefdk-via-chef
:slight_smile:

Steffen

On 17/05/14 13:08, Morgan Blackthorne wrote:

I’m actually just trying that out (right now blocked on Berkshelf
problems)
myself with Bamboo. I am actually wondering if someone will write an
updater cookbook like omnibus-updater, and implement resources like
"chefdk_gem ‘knife-ec2’" would be viable so that the CI server config and
chefdk configurations could be managed under Chef.


~~ StormeRider ~~

“Every world needs its heroes […] They inspire us to be better than we
are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… http://bit.ly/Ps3uSS

On Sat, May 17, 2014 at 4:01 AM, Steffen Gebert st+gmane@st-g.de
wrote:

Hi,

I try to set up a CI server using Jenkins for our cookbook testing and
finally uploading to Chef server.

Would you recommend to use ChefDK to run test-kitchen, Berkshelf and so
on, or should I use Bundler and respect the gem versions specified in
the Gemfile?

Thanks for your opinion
Steffen


#5

if you run chef-client out of the chefdk path, doesn’t chef_gem install
into the embedded ruby?

something like:

#!/opt/chefdk/bin/chef-apply

chef_gem “kitchen-docker”

that might go into the ~/.chefdk directory of the user installing it
though so might not be ideal if you run it as root (not sure…)

On 5/17/14, 4:47 AM, Steffen Gebert wrote:

In regard to that:

I am actually wondering if someone […] implement resources like
"chefdk_gem"
http://stackoverflow.com/questions/23680177/installing-gem-into-chefdk-via-chef
:slight_smile:

Steffen

On 17/05/14 13:08, Morgan Blackthorne wrote:

I’m actually just trying that out (right now blocked on Berkshelf problems)
myself with Bamboo. I am actually wondering if someone will write an
updater cookbook like omnibus-updater, and implement resources like
"chefdk_gem ‘knife-ec2’" would be viable so that the CI server config and
chefdk configurations could be managed under Chef.


~~ StormeRider ~~

“Every world needs its heroes […] They inspire us to be better than we
are. And they protect from the darkness that’s just around the corner.”

(from Smallville Season 6x1: “Zod”)

On why I hate the phrase “that’s so lame”… http://bit.ly/Ps3uSS

On Sat, May 17, 2014 at 4:01 AM, Steffen Gebert st+gmane@st-g.de wrote:

Hi,

I try to set up a CI server using Jenkins for our cookbook testing and
finally uploading to Chef server.

Would you recommend to use ChefDK to run test-kitchen, Berkshelf and so
on, or should I use Bundler and respect the gem versions specified in
the Gemfile?

Thanks for your opinion
Steffen


#6

On Saturday, May 17, 2014 at 2:33 PM, Lamont Granquist wrote:

if you run chef-client out of the chefdk path, doesn’t chef_gem install
into the embedded ruby?

something like:

#!/opt/chefdk/bin/chef-apply

chef_gem “kitchen-docker”

that might go into the ~/.chefdk directory of the user installing it
though so might not be ideal if you run it as root (not sure…)

On 5/17/14, 4:47 AM, Steffen Gebert wrote:

In regard to that:

I am actually wondering if someone […] implement resources like
"chefdk_gem"

http://stackoverflow.com/questions/23680177/installing-gem-into-chefdk-via-chef
:slight_smile:

Steffen

The simplest thing you can do is add the --no-user option to the install, which will install to the embedded gem path instead of the user gem path. It does feel a bit wrong, but we haven’t observed any issues doing this with chef-client omnibus installs so it should be okay.


Daniel DeLeo


#7

Steffen,

Here’s and example of how we do it in Jenkins. It’s worked out wondrously.

http://devopslove.blogspot.comhttp://devopslove.blogspot.com/?m=1

On May 17, 2014, at 14:52, “Daniel DeLeo” <dan@kallistec.commailto:dan@kallistec.com> wrote:

On Saturday, May 17, 2014 at 2:33 PM, Lamont Granquist wrote:

if you run chef-client out of the chefdk path, doesn’t chef_gem install
into the embedded ruby?

something like:

#!/opt/chefdk/bin/chef-apply

chef_gem “kitchen-docker”

that might go into the ~/.chefdk directory of the user installing it
though so might not be ideal if you run it as root (not sure…)

On 5/17/14, 4:47 AM, Steffen Gebert wrote:
In regard to that:

I am actually wondering if someone […] implement resources like
"chefdk_gem"


:slight_smile:

Steffen

The simplest thing you can do is add the --no-user option to the install, which will install to the embedded gem path instead of the user gem path. It does feel a bit wrong, but we haven’t observed any issues doing this with chef-client omnibus installs so it should be okay.


Daniel DeLeo