Jenkins的plugin开发

来源:互联网 发布:caffe fcn 语义分割 编辑:程序博客网 时间:2024/05/17 01:47

       Jenkins强大的功能主要靠其丰富的plugin体现,之前的一篇博客《Jenkins安装plugin》中介绍了如何找到并安装需要的plugin。虽然目前已经有大量非常优秀的plugin可供使用,但是有时候仍需要自己开发一些满足项目特殊要求的plugin。下面通过一个简单实例,介绍Jenkins的plugin的整个开发过程。

1. 环境准备

        1) 安装工具: Maven 3; JDK 6.0或以上版本,Eclipse SDK 4.2

        2) 环境变量:PATH中添加mvn.bat路径;JAVA_HOME中添加SDK路径

        3) 修改maven安装目录下conf文件夹中的settings.xml,添加如下配置:

<settings>  <pluginGroups>    <pluginGroup>org.jenkins-ci.tools</pluginGroup>  </pluginGroups>  <profiles>    <!-- Give access to Jenkins plugins -->    <profile>      <id>jenkins</id>      <activation>        <activeByDefault>true</activeByDefault> <!-- change this to false, if you don't like to have it on per default -->      </activation>      <repositories>        <repository>          <id>repo.jenkins-ci.org</id>          <url>http://repo.jenkins-ci.org/public/</url>        </repository>      </repositories>      <pluginRepositories>        <pluginRepository>          <id>repo.jenkins-ci.org</id>          <url>http://repo.jenkins-ci.org/public/</url>        </pluginRepository>      </pluginRepositories>    </profile>  </profiles>  <mirrors>    <mirror>      <id>repo.jenkins-ci.org</id>      <url>http://repo.jenkins-ci.org/public/</url>      <mirrorOf>m.g.o-public</mirrorOf>    </mirror>  </mirrors></settings>

2. 创建plugin

        在命令行窗口中执行命令:mvn hpi:create,创建plugin项目的目录结构和POM文件。会提示输入groupId(相当于Java代码的package name)和artifactId(相当于Java代码的project name),如下图所示:


        上面红色方框中就是提示输入groupId和artifactId的地方,下面红色方框的"BUILD SUCCESS”表示plugin项目创建成功。

3. 编译plugin

         编译plugin项目,有两种方式,一种是用Maven命令方式,另一种是将plugin项目导入到Eclipse的方式。前者只需要执行一条Maven命令,如果不必编辑plugin项目的代码,这种方式非常方便。后者需要额外准备Eclipse开发环境,并需要Maven的Eclipse plugin将Eclipse和Maven关联起来,但是这种方式适合于对Eclipse比较熟的开发者。

3.1 Maven命令方式

         在命令行窗口中plugin项目的目录下执行mvn package命令,会编译plugin项目,同时创建jar包和hpi文件。

3.2 导入到IDE方式

        打开Eclipse,选择“File”->“import”->“Maven->“Existing Maven Projects”,选择上步中Maven创建的文件夹myplugin,点击“ok”,如下图所示:


      Eclipse会分析pom.xml文件并生成Java项目文件,忽略import过程中的warnings。Maven项目导入Eclipse之后的目录结构如下图所示:


        在Maven build项目之前,必须先对项目Maven clean,这样才能保证自己开发的plugin在部署到Jenkins之后能够看得到,目前还不清楚为什么需要有这么一步。执行Maven clean和Maven build的方式是右击plugin项目,选择Run As -> Maven clean或者Maven build,如下图所示:


4. 测试Plugin

       在命令行窗口中plugin项目的目录下执行mvn hpi:run,Maven会在Jetty中启动一个测试Jenkins,并将新开发的plugin部署到Jenkins中,在浏览器地址栏中输入http://localhost:8080/jenkins即可进入测试Jenkins。前面创建的plugin项目,只是输出你的名字,其他什么事情也没做,下面对其进行测试。

       创建测试job:


       在build step中选择"Say hello world"项(新开发plugin提供):


       输入你的名字:


       测试结果:


5. 发布Plugin

所有测试通过之后,就可以正式发布自己开发的plugin。Jenkins的所有plugin都是通过hpi的文件格式发布的,所以在发布前先要自己开发的plugin打包成hpi文件。

在命令行窗口中plugin项目的目录下执行mvn package,即可自动在target目录下的生成该plugin的hpi文件和jar文件。

将该hpi文件拷贝到Jenkins Home目录下个plugin中,或者通过Jenkins插件管理upload该hpi文件,然后重启Jenkins,即可是该plugin生效。具体plugin安装方法,请参考《Jenkins安装plugin》。


Reference

Plugin tutorial

Jenkins插件开发入门资料收集