如何通过chefzero vagrant provisionerconfigurationjenkins

使用jenkins cookbook 2.2.2

==> https://supermarket.chef.io/cookbooks/jenkins

我可以使用chef_zero provisioner与vagrant vm合作jenkins

chef.run_list = [ 'recipe[jenkins::master]', ]

不过,我想安装插件,并从erb模板创build一个新的工作,我没有运气。 我的理解是,configuration应该通过与厨师零“chef.json”数据结构通过。 我已经尝试了很多很多的语法configuration,但没有运气(也没有错误,因为如果不正确,它会被忽略)

这里是安装一个不工作的插件的例子(我想问题是如何configuration一个chef资源在stream浪汉chef_zero规定内):

chef.json = { 'java' => { 'jdk_version' => '7', }, 'jenkins' => { 'master' => { 'jenkins_plugin' => [ 'job-dsl', 'groovy', 'git', 'packer' ] } } }

我将非常感激,如果任何人都可以提供一个chef.json的stream浪的例子,stream浪者chef_zero供应商想要安装jenkins插件(和/或从erb模板或xml文件安装一个新的工作)

答案是插件和工作不能由社区jenkins食谱直接调用。 一个包装食谱需要作出(这取决于jenkins)。

这是通过创build一个空白的食谱: knife cookbook create jenkins_wrapper

添加社区食谱依赖(jenkins_wrapper / metadata.rb): depends 'jenkins'

然后让它做一些事情(jenkins_wrapper / recipes / default.rb): jenkins_plugin 'git' jenkins_plugin 'job-dsl'

此外,如果使用berkshelf,则必须在Berksfile中添加Cookbook的path: cookbook 'jenkins_wrapper', path: '/path/to/jenkins_wrapper' (此path可以是相对的)

我花了几个小时才弄明白这一切,所以希望这会帮助别人节省一些时间

你可以看看这个 。 也许这可能会有所帮助