我可以使用Jenkins Slaves在不同的操作系统上进行自动化测试吗?

时间:2015-03-25 16:34:40

标签: jenkins continuous-integration master-slave

我正在使用Jenkins设置CI工作流程。我有各种代码库,我希望能够在Windows Server 2012到2003以及Red Hat等不同的操作系统上进行测试。

我想知道使用Jenkins奴隶是否是一个有效的解决方案。

具体问题如下:

  1. 如果主人执行项目,那么项目定义在哪里与作业执行的位置在哪里?
  2. 如果我想执行一项测试我不想在主操作系统上支持的语言的工作(想想Ruby on Windows),我还是需要让主人知道这种语言才能通过安装相关的插件来定义作业吗?
  3. 如果我定义了一个在VM内部运行的从站并且我停止了VM,当VM恢复时,我将不得不在从站上运行某种启动任务,或者在我可以启动在从站上运行的项目之前,在主站上执行任务,重新注册从站?
  4. 当从属任务完成并报告结果时,这些结果是否存储在主服务器上,以便我可以关闭从服务器并仍然可以访问以前的测试运行结果和趋势信息?
  5. 提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

  1. 如果主人执行项目,那么项目定义在哪里与作业执行的位置在哪里?
  2. 作业被定义并存储在Master上,它们在Slave机器上执行。您可以使用标签定义在哪些从属服务器上执行哪些作业。

    1. 如果我想执行一项测试我不想在主操作系统上支持的语言的作业(想想在Windows上使用Ruby),我是否还需要让主人知道该语言才能定义工作,比如安装相关的插件?
    2. Master无需了解构建环境。如果你使用适当的构建环境设置Slave,那应该没问题。主人只是委托工作等。

      1. 如果我定义了一个在VM内部运行的从站并且我停止了VM,那么当VM恢复时,我将不得不在从站上运行某种启动任务,或者预先执行任务master,在我可以启动在slave上运行的项目之前重新注册slave?
      2. 这取决于你如何将奴隶连接到主人。例如,如果使用启动方法连接Windows计算机:“让Jenkins将此Windows从属控制为Windows服务”。当Slave重新联机时,它应该自动重新连接。然而,有一些设置涉及使其工作。

        1. 当从属任务完成并报告结果时,这些结果是否存储在主服务器上,以便我可以关闭从服务器并仍然可以访问以前的测试运行结果和趋势信息?
        2. 控制台日志保留在Master上。这可能就是你想要的。

          希望有所帮助:)