Jenkins调试和插件调试
运行
如果是在 Jenkins core 的源码目录下的话,需要进入到 war 目录;如果是插件的话,通常在根目录下执行:
mvn hpi:run
程序正常启动后,会在 target 下生成一个运行时的目录:会有个work目录,充当 JENKINS_HOME 目录.
插件的是在 当前目录 下面 有个work/ 目录.
jenkins 的话会在war子目录下面有个work/ 目录.
新版本的jenkins编译使用下面命令
mvn -am -pl war,bom -DskipTests -Dspotbugs.skip clean package
新版本的jenkins的运行使用下面命令
mvn -pl war jetty:run
旧版本的jenkins编译:
mvn -am -pl war -DskipTests -Dfindbugs.skip clean package
旧版本的jenkins运行
mvn -pl war hudson-dev:run
jenkins编译调试
jenkins 2.222.1 版本
mvn -am -pl war,bom -DskipTests -Dspotbugs.skip clean package
mvn -pl war jetty:run
jenkins 2.176.1 版本
mvn clean package -pl war -am -DskipTests -Dfindbugs.skip
mvn -pl war hudson-dev:run
跳过测试
mvn hpi:run -DskipTests 该命令会跳过测试的执行,但还是会编译测试代码的。如果确实想要加快构建速度而跳过测试的话,建议使用这个命令,而不是下面的:
mvn hpi:run -Dmaven.test.skip=true 该命令既不执行测试代码,也不会编译。
指定端口
mvn hpi:run -Djetty.port=1234
mvn hpi:run -Djenkins.install.runSetupWizard=true
指定 Jenkins 版本
mvn hpi:run -Djenkins.version=2.121.1
指定 log 格式
mvn -DskipTests=true -Djava.util.logging.config.file=logging.properties package hpi:run
新建个 logging.properties 文件,内容如下 (这个日志配置文件内容 摘自 https://www.logicbig.com/tutorials/core-java-tutorial/logging/customizing-default-format.html 这里)
handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] [%4$-7s] %5$s %n
然后输出的