不贅述,直接看wiki:https://wiki.jenkins.io/display/JENKINS/Extend+Jenkinshtml
src/main/java:主要存放Java 源碼文件.java
src/main/resources:Jelly/Groovy視圖文件web
src/main/webapp:靜態資源文件,例如Html或者圖片資源ubuntu
(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
(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會進行熱加載)