Jenkins的plugin开发

标签: jenkins plugin 开发 | 发表时间:2013-08-13 13:37 | 作者:Super_Eagle
出处:http://blog.csdn.net

       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提供):


       输入你的名字:


       测试结果:



Reference

Plugin tutorial

Jenkins插件开发入门资料收集



作者:Super_Eagle 发表于2013-8-13 21:37:12 原文链接
阅读:51 评论:0 查看评论

相关 [jenkins plugin 开发] 推荐:

Jenkins的plugin开发

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

[原]jQuery ListBox Plugin(ListBox插件)

- We_Get - 博客园-首页原创精华区
转载请注明作者(think8848)和出处(http://think8848.cnblogs.com). 未经作者同意,请勿擅自修改本文内容. 这两天项目中要用到类似于ListBox的功能了,本以为有很多jQuery插件,没有想到的是,居然没有搜到好用的,咋办呢,自已动手丰衣足食吧,于是花了一个晚上的时间做出来一个,上效果图:.

SonarQube和Jenkins的集成

- - 研发管理 - ITeye博客
在Java软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷. Java 静态代码分析(static code analysis)工具能够在代码构建过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题,从而极大地提高软件可靠性并节省软件开发和测试成 本. 目前市场上的 Java 静态代码分析工具种类繁多且各有千秋,因此本文将分别介绍现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),并从功能、特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中.

Jenkins: 使用Jenkins搭建持续集成(CI)环境

- - CSDN博客研发管理推荐文章
首先从官网 http://jenkins-ci.org/下载 Java Web Archive (.war). 例如我保存到 D:\jenkins\jenkins.war. 运行Jenkins需要JRE的支持Java5 or later. 默认会运行在8080端口,正常启动完成如下图. 我们可以在浏览器输入127.0.0.1:8080来查看,如图我们的Jenkins已经跑起来了.

基于Jenkins的持续集成

- - ITeye博客
Jenkins是一个持续集成工具,前身叫做Hudson,在实际项目应用中非常重要,本文介绍这一工具的使用方法. 首先我们访问Jenkins的网站:. Jenkins 的网址是: http://jenkins-ci.org/. 从网站下载Jenkins: http://mirrors.jenkins-ci.org/war/latest/jenkins.war.

使用Jenkins 实现自动化构建

- - 研发管理 - ITeye博客
Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布. 意思是我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL,将代码拉取到其“宿主服务器”(这是我个人的称呼,在下边会用到,就是Jenkins的安装位置),进行编译、打包和发布到容器中.

[译]InnoDB官方博客:InnoDB Plugin的性能和可伸缩性

- Eneri - P.Linux Laboratory
本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/plug-in-for-performance-and-scalability.html. 原文地址:http://blogs.innodb.com/wp/2009/03/plug-in-for-performance-and-scalability/.

使用 jQuery Easing Plugin 增强动画过渡效果

- - 我爱水煮鱼
jQuery 提供了一些诸如 show, hide, slideUp, fadeIn 等动画方法,可以方便的切换元素的显隐. 更有强大的自定义动画方法 animate ,可以实现很多动画效果. 为了让动画有好的过渡变化过程,官方为这些方法设置 easing 属性,但是官方没有给出很多过渡效果. jquery.easing.js 这个 jQuery 插件增加了很多过渡效果,引入之后可以让动画过渡过程更加多样化.

Eclipse的Mat Plugin查找OOM使用一例

- - CSDN博客推荐文章
最近接手了一个老项目比较头痛. 头痛的原因是这个代码的编写者已经离开了公司,而且代码基本没有注释,结构混乱并且还有严重的内存泄漏问题. 其实接手这个项目最大需要解决的问题就是内存泄漏问题. 由于这个老项目使用JDK1.5,所以像JDK1.6自带很多内存检测工具都派不上用场了. 比如:jdk1.5 使用的jmap -heap 生成的dump文件用eclipse的mat就打不开.

使用Jenkins持續集成與發佈Android應用程式

- Fstone - INET6
這是上週在Coscup 2011活動中演講的主題與投影片. Jenkins (http://jenkins-ci.org/) 是個廣為使用的持續集成(Continue Integration)框架,可以協助軟體工程師統合處理各種圍繞著「寫程式」之外的程式開發工作(如版本控制、環境設定、編譯、測試、發佈).