Hudson cmd.exe运行方式

时间:2010-08-06 15:08:31

标签: hudson cmd

hudson CI让用户在哪里运行cmd.exe? 我正在尝试启动和停止各种从属服务器上的某些远程服务,并且需要与hudson正在使用的特殊凭据不同的特殊凭据。我找不到覆盖用户的地方。我尝试以各种用户身份运行服务器,但它没有改变任何东西。 还有其他想法吗?

3 个答案:

答案 0 :(得分:2)

由于您要在远程计算机上启动和停止服务,因此您需要在远程计算机上使用这些凭据登录,因为我还没有找到在远程计算机上启动和停止服务的方法。

有不同的方法可以做到这一点。您可以使用正确的凭据创建在远程计算机上运行的从站。您甚至可以为同一台计算机创建多个从站,而不会出现任何问题,因为您可以为同一台计算机使用不同的凭据。然后,这些可以启动net stopnet start命令。

您也可以使用SSH plugin。这允许您配置构建前和构建后的ssh脚本。你只需要和Windows机器上的ssh服务器。连接密码将以加密方式存储。

使用逗号线工具。到目前为止,我还没有找到Windows onboard工具来远程登录到远程计算机。我会用plink来完成那项任务。 plink是putty的脚本版本。 Putty支持不同的连接类型。所以你也可以使用build in telnet服务(不推荐使用,因为telnet不加密连接)。缺点是您将在作业配置中未加密密码。

答案 1 :(得分:0)

我们遇到了类似的问题,我使用了PsExec。对我而言,我们的机器存在于一个单独的局域网内,在两个防火墙内,所以我可以使用未加密的密码。我也曾探索过SSH w / Putty,这似乎有用,但不是直截了当的。

如果有人可以帮助使用单行runas命令,那么这也可能有效。

答案 2 :(得分:0)

你没有说你的奴隶是如何连接到哈德森的,但我会假设它是通过“哈德森奴隶”服务,因为这可能是连接Windows奴隶最流行的方式。

如果是这样,CMD.EXE的运行权限与运行该服务的用户相同。这可以通过以下方式检查:
 1.运行services.msc
 2.双击哈德森 - 奴隶服务
 3.转到登录选项卡

默认情况下,从属服务作为“LocalSystem”运行,这是系统上最强大的帐户。它应该能够做你需要做的任何事情。 (即开始/停止服务)