Jenkins - 在远程计算机上运行安装测试并将结果报告给Jenkins

Nei*_*los 5 automated-tests jenkins

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

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

这是我所拥有的;

  • 我在詹金斯设立了这份工作
  • 我为这个工作创建了一个奴隶
  • 我使用Jenkins在slave上运行bash脚本(工作)

我想做的是以下几点;

  • 定期(假设我知道构建已完成每天一次)获取所有项目的最新传递构建并将它们复制到从属机器
  • 使用脚本安装rpms.
  • 该脚本在安装期间执行某些测试(查看日志等...)所以我想收集所有这些并将结果发送回Jenkins(最终可能会在此处执行其他测试)
  • 我希望最后一个构建映像的状态由我自己的测试确定
  • 我还希望将测试结果,日志等存储在Jenkins测试作业中,这样我们就可以查看它们并惊叹于它们的真棒!

我不知道该怎么做;

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

我三天前才刚开始和Jenkins一起工作(项目和Jenkins建立的工作比这要多很多),如果我遗漏任何明显的事情,我会道歉.

UPDATE

我认为这些插件的组合可能会起作用,但我还没有考虑过这些.

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

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

Nei*_*los 3

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

这很有效,如果构建失败了我指定的测试,比如他们安装了 rpm 并发生了这样那样的事情,我就会将其标记为不稳定。

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