当前位置: 首页 > 面试题库 >

Jenkins如何发现构建后插件的config.jelly?

司空通
2023-03-14
问题内容

我正在为公司中的一些自定义报告创建一个构建后插件。我从此处提供的詹金斯“ 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



 类似资料:
  • 我在让Jenkins构建特定标记时遇到问题。该标记是参数化构建的一部分,但我不知道如何将其传递给git插件来构建该标记。这花了我一天三个小时的时间,我在Stack Overflow向大师们承认了失败。

  • 问题内容: 我在让Jenkins构建指定标签方面遇到问题。标签是参数化构建的一部分,但是我不知道如何将其传递给git插件来构建该标签。我每天花了3个小时,在堆栈溢出时我输给了大师。 问题答案: 我可以通过使用“分支生成”参数来做到这一点: 用标签名称替换[tag-name]。

  • 我已经为詹金斯下载了TCB插件。我有几个运行测试的版本。这些构建必须单独运行,因为它们访问类似的文件,如果运行多个测试构建,这些文件可能会导致测试失败。我一直在试图找到一个地方,将构建放在一个“类别”中,这样我就可以将整个测试类别缩减到1/1。我以为这可能是詹金斯的观点,但这并没有起作用。如何将工作添加到类别中? 这个标签讨论了我想要的解决方案:詹金斯:为这个组分组作业和限制构建处理器。唯一的问题

  • 有没有一种方法可以使用Groovy后期构建插件读取构建工件文件? 一些上下文:我已经编写了一些由Jenkins的maven运行的testng测试。Jenkins运行测试,给我测试结果等。但是,我被要求将结果存储在HP的应用程序生命周期管理(ALM)中。一位同事为我提供了一个构建后的groovy脚本,它可以与ALM接口并存储测试结果。我必须将这些参数传递给该脚本: 作业名称 通过/失败状态 测试开始

  • Jenkins存档工件插件将文件压缩到“archive.zip”文件中。它始终具有相同的文件名。更重要的是,Jenkins实际上并不存档(“builds”目录中没有任何“archive.zip”文件)。Jenkins just映射url 问题是,该作业本身生成ZIP归档,所以我需要以原始名称发布这个归档。这很重要,因为归档的名称明确了作业的所有者、内部的数据以及用于运行作业的参数。假设用户使用不同

  • 如果作业使用构建流(包括重复作业)运行,构建管道插件是否仍然正确显示作业序列? 以下是构建流程的伪代码: 包将从源代码控制中提取代码,编译它,并将其存储为工件 部署将从上游Package作业复制工件,然后将其复制到目标参数中提供的URL 集成测试将针对参数中提供的URL运行一套集成测试。 即使部署作业重复,构建管道插件是否将此管道显示为4个步骤?