我在使用CC.NET和psexec时遇到了一个奇怪的问题。
我基本上复制了一个构建服务器,除了每个服务器上的几个名称更改。两者都是虚拟机。第一台服务器运行良好,但第二台服务器上的几乎相同的项目并没有完成CC.NET构建。在使用psexec命令触发批处理文件的CC.NET服务器配置部分之后会发生这种情况。
psexec命令很简单,用于触发exe文件,这是一个Ranorex自动化测试用例。测试用例需要在当前用户的会话(会话1)中运行,以便UI组件可见(这是Ranorex约束)。
这是命令:
psexec \\<server name> -i 1 cmd /c C:\Users\build\<path to exe>
操作系统是Windows 7,Ranorex是3.1,CC.NET和Psexec是截止日期的最新版本。
CC.NET构建日志的输出如下(这只是最后一部分):
<buildresults>
<message level="Error">PsExec v1.98 - Execute processes remotely</message>
<message level="Error">Copyright (C) 2001-2010 Mark Russinovich</message>
<message level="Error">Sysinternals - www.sysinternals.com</message>
</buildresults>
这似乎是从psexec输出的。我可以获取此日志的唯一方法是,如果我强制CC.NET中止该点的构建是挂起的。任何人都有任何关于为什么构建在psexec部分挂起的想法?
答案 0 :(得分:1)
PSExec一直有这样的“挂起”问题,其中一个解决方案就是你必须将输出重定向到&gt; nul。
http://forum.sysinternals.com/psexec-always-hangs-when-run-from-java_topic5013.html