sql - 将测试数据从 jenkins/hudson 保存到数据库的最佳方法是什么?

标签 sql jenkins dashboard

我正在尝试为 jenkins 的测试结果(由 os/hardware/ect 标签动态过滤)制作一个仪表板。

jenkins 将测试结果从 xml 文件保存到中央数据库(最好是 postgres)的最佳方法是什么?

sql 插件似乎被设计为供其他插件使用。

我应该从 jenkins.groovy 调用 java sql apis 吗?脚本?

最佳答案

几种可能:

将现有的 java sql 库与 Grab 一起使用

有几个世界级的 java sql 库( https://commons.apache.org/proper/commons-dbutils/https://github.com/jOOQ/jOOQ ),您可以在管道中与 Grab 一起使用它们.我个人喜欢jooq。然后你用 groovy 编写你的特定代码。

@Grab(group='org.jooq', module='jooq', version='3.10.5')
import ...

使用现有的 Java 库并将其放在类路径中

就像上面的解决方案。但是您不会使用 Grab 导入库。您可以维护自己的码头安装 (https://wiki.jenkins.io/display/JENKINS/Jetty),而不是直接从 war 中启动 jenkins。这使您可以自由地向类路径添加其他库,然后可以在管道中使用这些库。

编写一个 java 库并与 Grab 或 classpath 一起使用

而不是使用通用库并在 groovy 中编写您的特定要求。您创建了一个库,该库提供了满足您需求的 API。您可以使用 Grab 导入它,或者将其添加到应用程序服务器的类路径中。在您的 groovy 脚本中,您只需要调用特定的 API 并传递参数。

编写自己的插件

您可以为自己的目的编写一个插件,这并不难https://jenkins.io/doc/developer/plugin-development/pipeline-integration/ .该插件将文件路径作为参数。契约将是 xml 文件的结构(xml 模式)。您还可以添加参数来控制导入。

个人意见:

我会选择“编写一个 Java 库并将其与 Grab 或类路径一起使用”:
  • 由于简单,在单元级别上有很好的测试可能性
  • 对jenkins的具体要求的实现没有依赖性,没有jenkins的手段也可以使用
  • 易于分发,可以部署到任何 maven 兼容的存储库并从那里获取 @GrabResolver(name='custom', root='http://customserver/repo', m2Compatible='true')
  • 关于sql - 将测试数据从 jenkins/hudson 保存到数据库的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48763364/

    相关文章:

    jenkins - 导出 Jenkins 用户帐户和安全设置?

    bash -/bin/bash : Command not found in alpine docker

    excel - "Lookup"Excel 中 PowerPivot 模型-FactTables 中的数据

    Jenkins 状态仪表板

    sql - 为什么我不能将唯一标识符/GUID 传递给存储过程

    SQL查找特定时间内高于阈值的值

    java - Silk Test Open Agent 在测试执行后不会自动停止

    sql - Excel导入Access

    mysql - MySQL 中的更改数据捕获

    python - LAN Dashboard 技术推荐