【问题标题】:Jenkins - Running install tests on remote machine and reporting results back to JenkinsJenkins - 在远程机器上运行安装测试并将结果报告给 Jenkins
【发布时间】:2012-11-09 13:58:12
【问题描述】:

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

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

这是我所知道的;

  • 我已经在 J​​enkins 中设置了工作
  • 我已经为作业创建了一个从站
  • 我已使用 Jenkins 在从属设备上运行 bash 脚本(有效)

我想做的是以下;

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

我不知道该怎么做;

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

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

更新

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

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

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

【问题讨论】:

  • Jenkins 可以有奴隶。我不确定复制工件插件是否适合他们,但我认为应该可以。

标签: jenkins automated-tests


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多