5

我希望添加一些自动化测试以在项目上每晚运行。目前,该项目有一些工作可以创建项目各种组件的多个构建。

构建创建 rpm 文件,有多个作业创建多个 rpm,我想获取所有 rpm 并安装它们并在单个测试作业下测试它们,彼此之间有很多依赖关系。我可以通过命令行安装,但这些 rpm 存储在 Jenkins 主机上。

这是据我所知;

  • 我已经在詹金斯建立了工作
  • 我为作业创建了一个奴隶
  • 我已经使用 Jenkins 在奴隶上运行 bash 脚本(作品)

我想做的是以下内容;

  • 定期(假设我知道构建已全部完成时每天一次)获取所有项目的最新通过构建并将它们复制到从机
  • 使用脚本安装 rpm。
  • 该脚本在安装期间执行某些测试(查看日志等),所以我想收集所有这些并将结果发送回 Jenkins(最终也可能在这里执行其他测试)
  • 我希望通过我自己的测试来确定最后一个构建映像的状态
  • 我还希望将测试结果、日志等存储在 Jenkins 测试作业中,以便我们可以查看它们并惊叹它们的精彩!

我不知道该怎么做;

  1. 如何将文件复制到从站?是否应该使用 wget 或其他东西在从站本身上处理,或者 Jenkins 是否具有为我处理这一切的功能(可能是插件)?
  2. 如何将我的自定义结果报告给 Jenkins 工作?

我三天前才开始与 Jenkins 合作(项目和 Jenkins 构建工作比这要老得多),如果我遗漏了任何明显的东西,我深表歉意。

更新

我在想这些插件的组合可能会奏效,不过我还没有过多地研究这些插件。

复制工件插件以从其他作业的最新稳定版本中复制 rpm

xUnit 插件来解释我在测试过程中生成的一些 xml 文件

4

1 回答 1

3

我实际上并不需要任何插件。我只是将作业设置为在从属设备上运行,有一个构建步骤来运行一些测试并生成一个 xml 文件(类似于 jUnit xml 结果),然后添加一个构建后步骤来查看 jUnit 结果(即使测试不是 jUnit 测试)。

这很有效,如果他们未能通过我指定的测试,我会将构建标记为不稳定,就像他们是否安装了 rpm 并且发生了这样那样的事情。

我能够获得最新的稳定版本,因为无论如何都会将最新的稳定版本复制到文件服务器,任何失败的版本都不会去那里,所以这很简单。

于 2012-11-22T23:29:17.840 回答