我正在尝试使用Puppet在虚拟机上设置一个Jenkins的工作,将这个虚拟机作为代理,另一个作为Puppet中的master。我想要做的是让Puppet下载并安装Jenkins和所有必要的软件包来完成工作,设置工作并构建它。我已经能够做到很大一部分了,但现在我需要在Jenkins构建过程中调用Maven的目标,我不知道如何让Puppet配置它。所以问题是:是否有人知道如何做到这一点?感谢。
PS:我正在学习Jenkins和Puppet“只做一周”,所以我显然是他们的新手!答案 0 :(得分:1)
您是否考虑过使用官方的Jenkins Puppet模块?
https://github.com/jenkinsci/puppet-jenkins
您应该可以添加此代码:
puppet module install rtyler/jenkins
puppet apply -e 'include jenkins'
然后,如果您想管理jenkins工作,请执行以下操作:
jenkins::job { 'test-build-job':
config => template("${templates}/test-build-job.xml.erb"),
}
您可以将给定作业定义为XML文件
答案 1 :(得分:1)
为了使用puppet-jenkins项目创建工作:(https://github.com/jenkinsci/puppet-jenkins),我创建了这样的工作:
jenkins::job {
'build' :
config => '<?xml version=\'1.0\' encoding=\'UTF-8\'?>
<project>
<actions/>
<description></description>
<keepDependencies>false</keepDependencies>
<properties></properties>
<scm class="hudson.scm.NullSCM"/>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers/>
<concurrentBuild>false</concurrentBuild>
<builders/>
<publishers/>
<buildWrappers/>
</project>';
}
运行流浪汉并进入你的jenkins之后,你会看到这份工作是为了建立。
答案 2 :(得分:0)
我发现最简单的方法是使用jenkins::job::present
jenkins::job
意图
jenkins::job::present { 'testjob':
config_file => '/var/testjob.xml',
require => File['testjobxml'],
}