Jenkins插件开发


一.环境配置

不赘述,直接看wiki:https://wiki.jenkins.io/display/JENKINS/Extend+Jenkins

二.内容说明

1.插件代码结构

src/main/java:主要存放Java 源码文件.

src/main/resources:Jelly/Groovy视图文件

src/main/webapp:静态资源文件,例如Html或者图片资源

2.插件入口

(1)部分插件的入口是一个Plugin的实现类(可选项),例如Android lint的入口为

/** Hooks up result actions with detail builders at startup. */
public class LintPlugin extends Plugin {

    @Override
    public void start() {
        LintDetailBuilder detailBuilder = new LintDetailBuilder();
        DetailFactory.addDetailBuilder(LintResultAction.class, detailBuilder);
        DetailFactory.addDetailBuilder(LintMavenResultAction.class, detailBuilder);
    }

}

这个方法会在 setServletContext(ServletContext)执行后调用,主要作用是初始化插件。

(2)简单实现拓展点extension points,通过@hudson.Extension注解实现自动注册

3.插件调试

(1)命令执行

ubuntu:

$ export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n"
$ mvn hpi:run

Windows:

> set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
> mvn hpi:run

(2)打开 http://localhost:8080/jenkins

(3)在IDE中加对应断点调试(除非修改了pom.xml,其他情况不需要重新启动,jenkins会进行热加载)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM