开发jenkins插件

下载Maven2,要很长时间。
然后修改maven的/conf/settings.xml文件,在<pluginGroups>中加入
<pluginGroup>org.jenkins-ci.tools</pluginGroup>

在<profiles>中间加入(Jenkins和Hudson是一回事,只是Hudson因为收购的原因,集体离职,改名为Jenkins了)
<profile>
<id>jenkins</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>maven.jenkins-ci.org</id>
<url>http://maven.jenkins-ci.org/content/groups/artifacts/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>maven.jenkins-ci.org</id>
<url>http://maven.jenkins-ci.org/content/groups/artifacts/</url>
</pluginRepository>
</pluginRepositories>
</profile>

修改好后,保存,执行Maven -cpu hpi:create命令,这个过程需要经过漫长的时间下载N多东西,如果下载好后,需要你输入你的插件名称以及插件java包。我的是trendView, 包:com.nsn.ci.trendview。

然后就是可以写插件的代码了

开发过程

我要开发的插件是在Job页面显示一个趋势图。

每个插件都有一个配置项,趋势图是一个publisher的插件。

先定义好配置项,仅需要编写config.jelly。

我的趋势图需要在配置项中配置:标题、图片宽和高、数据文件xml,还增加一个选项是否现实曲线还是折线。

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
<f:entry title="Archive Dir" field="fromDir">
<f:textbox />
</f:entry>
<f:entry title="Data File" field="dataFile" help="/plugin/TrendView/data_format.html">
<f:textbox default="data.xml"/>
</f:entry>
<f:entry title="Report Title" field="rptTitle">
<f:textbox default="Test Result Trend"/>
</f:entry>
<f:entry title="Width(px)" field="chartWidth">
<f:textbox default="500"/>
</f:entry>
<f:entry title="Height(px)" field="chartHeight">
<f:textbox default="240"/>
</f:entry>
<f:entry field="curveStyle">
<f:checkbox/>
<label class="attach-previous">Use the smooth style of curves.</label>
</f:entry>
</j:jelly>

编写保存这些配置项的java代码文件TrendReportPublisher.java。

编写现实趋势图的Action文件ShowReportAction.java

单独编写一个现实jfreechart图片的java文件ChartUtil.java

插件的描述文件:BeardDescriptor.java

在Job页面上显示趋势图,需要编写floatingBox.jelly文件:

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt" xmlns:local="local">
<j:if test="${from.checkDataExist()}"> <!-- 这里是判断是否有数据xml文件,如果有,则解析这个xml文件边现实img -->
<div align="right">
<div style="margin-top:5px">
<img src="${from.urlName}/trend" lazymap="${from.urlName}/trendMap"/>
</div>
</div>
</j:if>
</j:jelly>

打包生成hpi文件进行发布

在eclipse上编译后,到bin文件夹中,使用命令行mvn package就OK了,会生成一个trendview.hpi的文件,在hudson的插件管理上,选择高级进行安装。


如果不行,就执行下面的:
这样会将你的Maven指向有着Hudson-related Maven plugins的仓库,而且允许你使用Hudson Maven plugins的短名字来调用相关的插件(例如:hpi:create 代替org.jvnet.hudson.tools:maven-hpi-plugin:1.23:create)。

接着在CMD中输入

Java代码
mvn hpi:create


之后会问你一些如groupId和artifactId之类的问题,按照需要来填写就好了。

完成后计算机会自动的创建了一个项目,里面有一些模板代码,可供你学习如何开始写一个Hudson的插件,后面的代码全部来自模版代码。如果你需要在Eclipse里编辑插件可以执行
Java代码
mvn -DdownloadSources=true eclipse:eclipse


然后你就可以在Eclipse中导入这个项目并开始开发了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值