Jenkins插件開發

一.環境配置

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

二.內容說明

1.插件代碼結構

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

src/main/resources:Jelly/Groovy視圖文件web

src/main/webapp:靜態資源文件,例如Html或者圖片資源ubuntu

2.插件入口

(1)部分插件的入口是一個Plugin的實現類(可選項),例如Android lint的入口爲app

/** 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)執行後調用,主要做用是初始化插件。webapp

(2)簡單實現拓展點extension points,經過@hudson.Extension註解實現自動註冊socket

3.插件調試

(1)命令執行ide

ubuntu:ui

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

Windows:spa

> 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會進行熱加載)

相關文章
相關標籤/搜索