远程使用Hudson运行批处理文件

3
最简单的方法是使用Hudson(最新版本)在远程机器上安排批处理文件运行的方式是什么?我正在探索主从设置。我创建了一个愚蠢的从属,但我不确定应该设置哪些参数,以便我可以在远程从属机器上触发批处理文件。
基本上,我正在尝试从我的机器(主服务器)触发在两个不同的远程机器上顺序运行2个不同的批处理文件。Hudson网站上的逐步指南是一个失效链接。在SO上发布了类似的问题,但当我使用他们提到的参数时,它并不能完全为我工作。 如果有人做过类似的事情,请建议使其工作的方法。 (我知道如何设置作业,并添加运行批处理文件的步骤等,我遇到的问题是使用Hudson内置功能在远程机器上执行此操作)
更新
感谢大家的建议。快速更新: 我想要完成的部分正在部分工作中,以下是完成它的步骤 -
1. 从“管理节点”->“新节点”创建新节点->将执行器数量设置为1,将远程FS根设置为'/var/hudson',设置启动方法为使用JNLP,设置从属名称并保存。
2. 设置从属(从主计算机),我登录到从属物理机器,我从http://masterserver:port/jnlpJars/slave.jar下载了_slave.jar,并在下载位置的命令行中运行以下命令-> java-jar _slave.jar-jnlpUrl http://masterserver:port/computer/slavename/slave-agent.jnlp。连接成功。
3. 在主作业配置中检查“限制此项目可以运行的位置”,并将参数设置为slavename。
4. 检查“添加构建步骤”以添加我的批处理作业脚本
5. 我现在仍然缺少一种连接到2个从属机的方法,一个作业按顺序,这是可能的吗?
3个回答

1

我在设置从服务器时遇到了一些类似的问题,写了这篇博客文章 - 我是在Linux上运行而不是Windows,但希望这能有所帮助。


感谢您撰写博客,Gareth,它确实有所帮助。最终使其工作的是“限制此项目可以运行的位置”的配置。 - sjt

1

这很容易和直接。假设您已经有一个运行的从机,然后您将作业配置为如果您在目标框上本地运行一样。 限制此项目可以运行的位置 的设置需要是您想要的节点。这就是所有的工作配置。

有关从机配置,请阅读以下页面。

  1. 将Hudson安装为Windows服务
  2. 分布式构建

在Windows上,我更喜欢将从机作为服务运行,并让远程计算机管理从机的启动和关闭。唯一的缺点是,每次更新服务器时都需要升级客户端。只需从服务器获取新的client.jar,升级后将其放置在从机上。然后重新启动从机即可完成。

我在使用本地管理员身份安装从机的服务选项时遇到了麻烦。然后我使用了srvany将jar包封装成服务。这里有一篇博客讲述了如何操作。你需要从从机页面获取所需封装的命令,才能使所有这些工作正常运行。为了使其正常工作,你应该将从机管理设置为jnlp。

如果你的目标机器上有ssh服务器,你可以使用ssl从机设置。这对于我的unix从机非常有效。到目前为止,与Windows服务客户端相比,unix的ssl选项要少些麻烦。


谢谢Peter。你说得对,这比我想象的要顺利。'限制此项目可以运行的位置'的功能非常好。你知道我是否可以从一个作业中配置2个从机,并在它们上面按顺序运行任务吗? - sjt
目前还没有找到解决方案。唯一的方法是在作业中从本地系统“手动”打开到远程系统的连接(例如,Windows带有telnet服务器,但您需要一个非交互式的telnet客户端)。出于安全考虑,最好使用ssh。如果您使用ssh,则可以使用ssh插件,该插件将为您提供预构建和后构建步骤。http://wiki.hudson-ci.org/display/HUDSON/SSH+plugin - Peter Schuetze

0

我不知道如何使用内置的Hudson功能来完成这项工作 - 但在我的一个项目构建中,我运行了一个批处理文件,该文件反过来使用PSTools在远程服务器上运行作业。我发现PS工具非常容易使用 - 下载、解压缩并使用正确的参数运行命令,因此选择使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接