在 Jenkins 插件中读取构建工件

Posted

技术标签:

【中文标题】在 Jenkins 插件中读取构建工件【英文标题】:reading build artifacts in a Jenkins plugin 【发布时间】:2018-01-03 02:22:24 【问题描述】:

我正在尝试编写一个 Jenkins 插件,该插件可以读取我的构建生成的 JSON 文件,并在相应的构建页面上显示其数据摘要。我遵循了其他插件的示例,并拥有扩展ActionBuildStepDescriptor<Publisher>Recorder 的自定义类,并且可以在构建页面上成功显示自定义文本,但是如何访问构建工件?

在我的自定义Action 类中,被覆盖的perform() 方法接收一个final AbstractBuild<?, ?> build 参数,它有一个方便的getRootDir() 方法,但这似乎返回包含所有 的目录的路径归档的构建文件(即那些显式保存的),它不是实际构建工作目录的路径。

【问题讨论】:

【参考方案1】:

经过一番挖掘,我发现AbstractBuild 也有一个getWorkspace() 方法,它让我可以像这样检索我想要的文件:build.getWorkspace().child("report.json")。不过,不确定这是否是一个完整的解决方案。

【讨论】:

以上是关于在 Jenkins 插件中读取构建工件的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins插件之显示构建时间

使用多个Jenkins工件创建Xl部署包

没有使用 jenkins gradle artifactory 插件部署的工件

是否有内置的方法或插件让Jenkins为我的工件生成SHA256哈希?

Jenkin配置执行远程shell命令

利用jenkins打造通过自定义参数更新svn 指定文件任务