Jenkins 如何为 post-build 插件发现 config.jelly?
How does Jenkins discover the config.jelly for a post-build plugin?
我正在为我公司的一些自定义报告创建一个 post-build 插件。我从此处提供的 Jenkins "hello world" 示例开始:
https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
效果很好。我能够加载插件并在我的 Jenkins 实例中使用它,没有任何问题。
为了让我的项目顺利进行,我能够将 HelloWorldBuilder 移动到另一个文件夹,而不是 Jenkins HPI 安装程序创建、构建和上传此插件的默认文件夹。我还能够将其更改为从 hudson.tasks.Recorder 派生,并将 @Extension 更改为也从 BuildStepDescriptor 派生。这一切都构建得很好,我能够毫无问题地将 hpi 文件上传到 Jenkins,并且能够按预期在 post-构建步骤中使用该插件。在这一点上,事情进展顺利,我开始错误地认为这将是一件轻而易举的事。
当我尝试将 class 从 "HelloWorldBuilder" 重命名时,我开始遇到问题。我仍然将插件视为 post-构建步骤,但无法再对其进行配置。我尝试将 config.jelly class 和相应的帮助 html 文件移动到基于新的 class 名称的新目录,但效果不佳。我尝试了几种基于其他论坛、其他插件存储库和我找到的文档的路径结构和命名约定组合,但无济于事。
我不确定我在这里遗漏了什么,所以我的问题是:Jenkins 究竟如何根据 [=36] 发现 config.jelly 文件=] 为 plugin/class 名称和目录结构的各种组合实施 post-build 插件?
根据 Jenkins docs,你的 config.jelly 应该放在一个以你的扩展名命名的包中,例如:如果你的 class 是 foo.bar.Extension
,那么 config.jelly
必须放置为 src/main/resources/foo/bar/Extension/config.jelly
我正在为我公司的一些自定义报告创建一个 post-build 插件。我从此处提供的 Jenkins "hello world" 示例开始:
https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial
效果很好。我能够加载插件并在我的 Jenkins 实例中使用它,没有任何问题。
为了让我的项目顺利进行,我能够将 HelloWorldBuilder 移动到另一个文件夹,而不是 Jenkins HPI 安装程序创建、构建和上传此插件的默认文件夹。我还能够将其更改为从 hudson.tasks.Recorder 派生,并将 @Extension 更改为也从 BuildStepDescriptor 派生。这一切都构建得很好,我能够毫无问题地将 hpi 文件上传到 Jenkins,并且能够按预期在 post-构建步骤中使用该插件。在这一点上,事情进展顺利,我开始错误地认为这将是一件轻而易举的事。
当我尝试将 class 从 "HelloWorldBuilder" 重命名时,我开始遇到问题。我仍然将插件视为 post-构建步骤,但无法再对其进行配置。我尝试将 config.jelly class 和相应的帮助 html 文件移动到基于新的 class 名称的新目录,但效果不佳。我尝试了几种基于其他论坛、其他插件存储库和我找到的文档的路径结构和命名约定组合,但无济于事。
我不确定我在这里遗漏了什么,所以我的问题是:Jenkins 究竟如何根据 [=36] 发现 config.jelly 文件=] 为 plugin/class 名称和目录结构的各种组合实施 post-build 插件?
根据 Jenkins docs,你的 config.jelly 应该放在一个以你的扩展名命名的包中,例如:如果你的 class 是 foo.bar.Extension
,那么 config.jelly
必须放置为 src/main/resources/foo/bar/Extension/config.jelly