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