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

时间:2012-11-21 10:26:38

标签: jenkins automated-tests

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

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

这是我所拥有的;

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

我想做的是以下内容;

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

我不知道该怎么做;

  1. 如何将文件复制到从属文件?应该使用wget或者其他东西在slave上处理这个,或者Jenkins是否具有为我处理这一切的功能(可能是插件)?
  2. 如何将自定义结果报告给Jenkins作业?
  3. 三天前我才开始和Jenkins一起工作(项目和Jenkins构建的工作比这更长),如果我遗漏任何明显的事情,我会道歉。

    更新

    我认为这些插件的组合可能会有所帮助,但我还没有考虑过这些。

    Copy artifact plugin从其他作业的最新稳定版本中复制rpms

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

1 个答案:

答案 0 :(得分:3)

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

这有点魅力,如果我们指定的测试失败,我的构建被标记为不稳定,就像他们安装rpm一样,并且发生了这样的事情。

我能够获得最新的稳定版本,因为无论如何最新的稳定版本都会被托管到文件服务器,任何失败的版本都不会那么简单。