下载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中导入这个项目并开始开发了。
然后修改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中导入这个项目并开始开发了。