by Justin
1.
关于Hudson
插件的开发环境的搭建
Hudson
官方的说法是插件的开发必须依赖Maven2
和JDK6.0
或者更高版本。关于Maven
相关不会在这里详细说明。
ok
,首先方便起见,我们需要配置下我们的Maven
,设置以下内容到你的settings.xml
文件(在你的.m2
文件夹)当中去。
尝试在你的workspace
里创建一个新的插件工程(如果你没有做上面那个步骤,你需要输入的可不是hpi
:create
那么简单……):
继续我们的创建工作,按照提示输入必要的一些项目配置信息:
现在你会发现你当前的workspace
里面已经生成了插件的基本框架,当然只包含一个maven
的项目配置信息文件pom.xml
和src
代码文件夹。接下来要做的事情是把你的Maven
工程导入到你的IDE
里面去,eclipse
已经提供了完善的Maven
插件,所以你可以直接导入Maven
项目,当然如果没有安装Maven
插件,那也没有关系,到你的pom.xml
层去尝试执行mvn eclipse:eclipse
吧,Maven
当然支持生成eclipse
的项目架构。
需要注意的点A
:hudson
官方提及了建议使用eclipse 3.3
及以后的版本,似乎是已知的3.2
版本存在未解决的bug
导致的。
需要注意的点B
:在导入eclipse
项目或者第一次打包项目的时候,会花费一段时间来下载Maven
配置的依赖项。
在这一节里还需要留意的是几个相关的命令:
mvn package
--
完成代码开发之后执行,按照pom.xml
中的配置信息将会打包为hpi
格式的插件文件,这个就是你最终可以拿来上传给你的hudson
平台的玩意
mvn hpi:run
--
在本地的Jetty
中运行你的hudson
插件,调试专用,当然可以使用Debug
模式,执行之后,在本地访问
http://localhost:8080/
即可见(注意不要占用8080
端口)
2.
关于hudson
插件的结构
主要的结构包含四块内容:
pom.xml
--Maven
项目配置信息,包括了项目结构,依赖和命名等
src/main/java
--Java
代码
src/main/resources
--
在hudson
平台上的页面显示内容,使用的Jelly
,标签有点诡异
src/main/webapp
--
需要的一些静态资源包括图标图片页面等等等
完整的hudson
项目导入之后在eclipse
中的目录结构:
其中的HelloWorldBuilder.java
就是Maven
帮助我们生成的一份示例插件类,通过对这个文件的分析我们可以了解到一些插件类的工作方式。Hudson
通过判断你要实现的插件类的扩展方式来决定你的插件的工作方式,是在build
任务之前去做准备数据的工作,还是在build
过程中进行相应的配置,或者在每次运行完成后负责收集数据,不同的扩展方式在hudson
的工作中的切入点不一样,官方提供了相当丰富的扩展点,具体可以参考
http://wiki.hudson-ci.org/display/HUDSON/Extension+points
,这里的HelloWorldBuilder
扩展自Builder
。
关于扩展点的实现,不同的扩展点提供了对应的方法,比如Builder
扩展点提供了perform
方法,而WrapperBuilder
则是提供了setUp
方法。
关于数据绑定的方法,通过在构造方法前加标签@DataBoundConstructor
,将hudson
插件配置页面的数据传递进来。
关于页面的交互,通过内部静态类DescriptorImpl
来实现页面的显示和数据验证的工作
在resources
中提供了一个以完整的包名加类名命名的资源包,其中包含的config.jelly
和global.jelly
文件需要注意下。Hudson
使用jelly
来拼装页面,关于jelly
的相关资料找了一圈,信息量很少,hudson
官方提供一些资料
http://wiki.hudson-ci.org/display/HUDSON/Basic+guide+to+Jelly+usage+in+Hudson
。
config.jelly
是配置的当插件被选中时提供给用户交互的页面内容,注意页面的表单需要与你的处理类中的参数相对应同名。
如果你愿意提供下帮助的信息,ok
,在这儿直接写个命名为help-*.html
就行。
其实resources
路径下面还有一个index.jelly
,配置的是插件在hudson
的插件列表中的说明信息。插件名则可以命名在你的pom.xml
中,标签就是name
。
3.
关于hudson
插件开发的相关资料
官方wiki
:
http://wiki.hudson-ci.org/
- 大小: 10.2 KB
- 大小: 2.7 KB
- 大小: 15.1 KB
- 大小: 35.3 KB
- 大小: 34.7 KB
分享到:
相关推荐
Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件Hudson安装与使用,Hudson配置,Hudson插件...
文中讲述了如何进行Hudson插件开发。
Hudson常用插件说明
详细介绍了jenkins(hudson)的插件开发部署,指导你如何去开发一个插件,虽然里面那个插件没什么实际功能,但是有效果,能看到效果,这样你就可以了解到这个开发到底是怎么一回事,字面还带了一些资料,适合新手看看...
不知道怎么回事,hudson下载插件下载不下来,找了好久的checkStyle,在网上下载了都用不了。 后面偶然发现hudson又可以自动下载插件了。 checkStyle插件需要 analysis-core 支持,所以提供的下载包里面都放进去了, ...
用于解决jenkins安装nodeJs插件后不能选择nodejs版本,将该文件上传到服务器,然后 docker cp ./hudson.plugins.nodejs.tools.NodeJSInstaller 容器ID:/var/jenkins_home/updates 然后重启Jenkins
NULL 博文链接:https://daxiaoli123.iteye.com/blog/1641042
hudson插件加载失败解决方案.pdf
jenkins的nodejs12.8插件,在jenkins版本太老,不能更新插件时使用,上传文件到linux进入/root/.jenkins/updates/,重启jenkins即可。
eclipse集成hudson Ci服务器的插件
持续集成工具hudson的插件,集成checkstyle
相信看过基于Hudson的持续集成指南的人都会去下载hudson插件:cobertura.hpi,但是大家发现,网上铺天盖地的网址,都是无法打开。。。是的。。。这个插件差点找死我了。。。。 既然是别人做的,我也无权要分,0分送...
hudson使用的一些心得及总结,简单介绍hudson使用中任务建立及注意事项
hudson svn maven 自动构建 deploy pom
Hudson-GIT-plugin:Hudson的Git插件
相信看过基于Hudson的持续集成指南的人都会去下载hudson插件:checkstyle.hpi,但是大家发现,网上铺天盖地的网址,都是无法打开。。。是的。。。这个插件差点找死我了。。。。 既然是别人做的,我也无权要分,0分送...
NULL 博文链接:https://daxiaoli123.iteye.com/blog/1232688
资源讲述了如何安装下载配置findbugs以及如何将hudson集成findbugs插件
hudson 开发指南,很详细的插件开发指南
这是一个用hudson+maven+svn完成持续开发的详细教程。