如何在git中完全自动引导Jenkins for Maven作业?

时间:2013-10-01 11:11:37

标签: git maven jenkins

我们有很多Maven模块分布在几个git存储库中的几个分支上,我们发现Jenkins的手动配置对于每个这些工作都很乏味且容易出错。

因此,我正在研究如何自动化我们的Jenkins安装,为了使其可重现,我想从Jenkins站点下载的未配置的WAR开始,完成必要的配置,然后创建基于的作业来自适当的领域特定语言的描述。这个过程需要完全自动化和强大,最好通过CLI jar。

到目前为止,我遇到了以下问题:

  • Jenkins不了解Maven版本或开箱即用的Git Client。
  • 知识从更新站点下载,在访问/manage站点时由浏览器中的Javascript触发。然后我可以从更新中心安装git插件。
  • 配置"我想要maven 3.0.4并且只需下载它"需要通过配置网页完成。我还没有找到合适的CLI命令来执行相同的操作。

手动完成后,我可以使用CLI create-job命令和合适的XML配置文件来完成剩下的工作。

那么,我该如何自动执行这些步骤呢?不必编排一个支持Javascript的浏览器会很好。 Platform是一个带有OpenJDK的无头Ubuntu 12.04。

2 个答案:

答案 0 :(得分:1)

要使用DSL创建作业,请查看Job DSL plugin。您可以通过CLI触发执行创建构建作业的种子作业。

答案 1 :(得分:0)

需要考虑的是jenkins-ci.org上的每个插件都有一个“最新的”符号链接:

https://updates.jenkins-ci.org/latest/git.hpi,“最新”的詹金斯战争和最新的maven插件可以轻松下载。

  • 为JENKINS_HOME创建一个目录,直接从更新中心添加各种插件到创建的插件目录。
  • 直接添加conf.xml文件以设置默认的JDK / MAVEN版本
  • 使用JENKINS_HOME变量集
  • 启动jenkins

我们公司设置Jenkins的工作流程使用Capistrano在Jenkins面前安装Java,Ruby,Tomcat和jenkins.war,一堆必需的插件和一个Apache vhost代理。它很容易成为厨师的配方,但没有红宝石就很可行。