2

我正在为我公司的一些自定义报告创建一个构建后插件。我从这里提供的 Jenkins “hello world”示例开始:

https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial

这很好用。我能够加载插件并在我的 Jenkins 实例中使用它,没有任何问题。

为了让我的项目顺利进行,我能够将 HelloWorldBuilder 移动到另一个文件夹,而不是 Jenkins HPI 设置创建、构建和上传这个插件的默认文件夹,没有任何问题。我还能够将其更改为从 hudson.tasks.Recorder 派生,并将 @Extension 也更改为从 BuildStepDescriptor 派生。这一切都构建得很好,我能够毫无问题地将 hpi 文件上传到 Jenkins,并且能够按预期在构建后的步骤中使用该插件。在这一点上,事情进展顺利,我犯了一个错误,开始认为这将是一件轻而易举的事。

当我尝试从“HelloWorldBuilder”重命名该类时,我开始遇到问题。我仍然将插件视为构建后步骤,但不再能够对其进行配置。我尝试根据新的类名将 config.jelly 类和相应的帮助 html 文件移动到新目录,但效果不佳。我已经尝试了基于其他论坛、其他插件存储库和我找到的文档的路径结构和命名约定的几种组合,但无济于事。

我不确定我在这里遗漏了什么,所以我的问题是:Jenkins 究竟是如何根据为插件/类名和目录结构的各种组合实现构建后插件的类发现 config.jelly 文件的?

4

1 回答 1

5

根据Jenkins 文档,您的 config.jelly 应放置在以您的 Extension 命名的包中,例如:如果您的类是foo.bar.Extension,则config.jelly必须放置为src/main/resources/foo/bar/Extension/config.jelly

于 2017-02-13T17:36:35.113 回答