有没有办法让Puppet在成功部署后运行Jenkins作业?

时间:2014-08-18 16:32:25

标签: java maven jenkins puppet

我们有一个Jenkins CI服务器,当它检测到签入时,它会从SVN构建我们的应用程序的war文件,在成功构建之后,我们使用允许我们手动部署应用程序的Jenkins作业,在内部它将运行木偶来移动战争并在需要时重新启动容器。

另一方面,我们有一个Jenkins作业,它构建一个maven项目,其中包含一组包含在我们的应用程序中的REST API的soapui功能测试。当然,这些测试要求在执行之前将应用程序部署在服务器中。

测试使用maven命令运行,如下所示:

mvn test

我想要的是让木偶在成功部署战争后触发詹金斯的工作,这怎么能实现呢?

我们使用类似于此处使用的清单http://www.tomcatexpert.com/blog/2010/04/29/deploying-tomcat-applications-puppet

基本上,这个定义正在进行部署:

define tomcat::deployment($path) {

  include tomcat
  notice("Establishing http://$hostname:${tomcat::tomcat_port}/$name/")

  file { "/opt/apache-tomcat-7.0.47/webapps/${name}.war":
    owner => 'root',
    source => $path,
  }

}

我想我可以在该清单中链接一个exec并运行CLI命令或使用curl调用Jenkins REST接口,正如Slav在他的回答中所建议的那样

1 个答案:

答案 0 :(得分:1)

詹金斯可以被触发through the CLI。在浏览器中转到您的服务器,以获取可从CLI调用的完整命令列表http://<your-jenkins-server/cli

您还可以通过 HTTP API calls 触发Jenkins。您不需要wget以外的任何内容。