我可以在不使用Jenkins UI的情况下运行jenkins插件吗?

时间:2017-08-21 20:07:04

标签: java jenkins

我继承了一个Jenkins插件。它从Jenkins hudson命名空间中导入了大量内容。我看到pom.xml

<parent>
    <groupId>org.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>1.583</version>
    <relativePath />
</parent>

插件读取文件并点击API。我希望能够在jenkins之外运行该类,因此我可以在本地修改和测试API调用,而无需每次创建新的hpi并上传到Jenkins - 甚至必须退出我的终端。

我有一个test.java文件,我想要实例化该类并运行一些方法。

从我的终端我运行这个: javac -cp '.:target/what-maven-exported.jar' foo.java && java Foo

我收到错误消息,因为Recorder无法访问class file for hudson.tasks.Recorder not found

我的问题是不可能的?或者我可以在本地伪造父POM吗?我试图这样做,但是快速迷失了,它会说罐子是空的。

2 个答案:

答案 0 :(得分:2)

Plugin Tutorial中所述,您可以使用hpi:run maven目标在预先安装插件的情况下启动Jenkins实例:

mvn hpi:run

这对黑客攻击插件非常有帮助。我认为这就是你实际意味着&#34;在本地运行&#34; ; - )

答案 1 :(得分:0)

我删除了hudson核心JAR文件,并在我的类路径中解决了编译时问题。

然后我为运行时删除了几个JAR,将它们添加到GuideLine的类路径中,并且它有效。