Puppet + Jenkins:如何调用顶级Maven目标

时间:2015-05-18 13:57:55

标签: maven jenkins puppet

我正在尝试使用Puppet在虚拟机上设置一个Jenkins的工作,将这个虚拟机作为代理,另一个作为Puppet中的master。我想要做的是让Puppet下载并安装Jenkins和所有必要的软件包来完成工作,设置工作并构建它。我已经能够做到很大一部分了,但现在我需要在Jenkins构建过程中调用Maven的目标,我不知道如何让Puppet配置它。所以问题是:是否有人知道如何做到这一点?感谢。

PS:我正在学习Jenkins和Puppet“只做一周”,所以我显然是他们的新手!

3 个答案:

答案 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'],
  }