Puppet + Jenkins:如何调用顶级 Maven 目标
Puppet + Jenkins: how to invoke top-level Maven target
我正在尝试使用 Puppet 在虚拟机上设置 Jenkins 作业,将此虚拟机作为 Puppet 中的代理,另一台作为主机。我想要做的是让 Puppet 下载并安装 Jenkins 和所有必要的包来完成这项工作,设置工作并构建它。我已经能够完成其中的大部分工作,但现在我需要在 Jenkins 的构建过程中调用 Maven 的目标,而且我不知道如何让 Puppet 配置它。所以问题是:是否有人知道如何做到这一点?谢谢。
PS:我从一周开始就开始学习 Jenkins 和 Puppet "by doing",所以我显然是他们的新手!
您是否考虑过使用官方 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 文件
为了使用 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>';
}
在 运行 vagrant up 并进入你的 jenkins 之后,你会看到这个作业被读取到构建。
我发现最简单的是,使用 jenkins::job::present
jenkins::job
的意图
jenkins::job::present { 'testjob':
config_file => '/var/testjob.xml',
require => File['testjobxml'],
}
我正在尝试使用 Puppet 在虚拟机上设置 Jenkins 作业,将此虚拟机作为 Puppet 中的代理,另一台作为主机。我想要做的是让 Puppet 下载并安装 Jenkins 和所有必要的包来完成这项工作,设置工作并构建它。我已经能够完成其中的大部分工作,但现在我需要在 Jenkins 的构建过程中调用 Maven 的目标,而且我不知道如何让 Puppet 配置它。所以问题是:是否有人知道如何做到这一点?谢谢。
PS:我从一周开始就开始学习 Jenkins 和 Puppet "by doing",所以我显然是他们的新手!
您是否考虑过使用官方 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 文件
为了使用 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>';
}
在 运行 vagrant up 并进入你的 jenkins 之后,你会看到这个作业被读取到构建。
我发现最简单的是,使用 jenkins::job::present
jenkins::job
jenkins::job::present { 'testjob':
config_file => '/var/testjob.xml',
require => File['testjobxml'],
}