我正在为公司中的一些自定义报告创建一个构建后插件。我从此处提供的詹金斯“ 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文件移动到新目录,但效果不佳。我已经根据我发现的其他论坛,其他插件存储库和文档尝试了路径结构和命名约定的几种组合,但无济于事。
我不确定我在这里缺少什么,所以我的问题是: 詹金斯究竟是如何根据实现插件/类名和目录结构的各种组合的构建后插件的类来发现config.jelly文件的?
根据Jenkins docs的说明,您的config.jelly应该放置在以您的扩展名命名的包中,例如:如果您的类是foo.bar.Extension,则config.jelly必须放置为src/main/resources/foo/bar/Extension/config.jelly
foo.bar.Extension
config.jelly
src/main/resources/foo/bar/Extension/config.jelly