Gui*_*ans 12 continuous-integration automation batch-file psexec continuous-deployment
使用psexecJenkins 运行远程批处理文件失败.使用psexec从奴隶运行相同的批处理文件直接工作没有魅力.
让我提供一些更多信息.Jenkins及其奴隶与我们的目标机器位于一个单独的域中.
当我像这样运行批处理文件时:
"D:\Temp\PsTools\PsExec.exe" \\<targetmachine> -u <targetdomain\targetdomainuser> -p <pwd> -accepteula "d:\temp\remotescript.bat" arg1 arg2
Run Code Online (Sandbox Code Playgroud)
直接从奴隶(远程桌面接管机器并打开命令提示符)这完美.
当在Jenkins的Windows批量构建步骤中输入时,没有可见的输出,我只看到一个微调器,但没有任何事情发生,并且构建挂起排队任何其他构建创建大量积压.显然我得到了一个失败审计,我的Jenkins用户尝试登录到目标计算机,但是我在目标计算机上指定了具有管理员权限的域用户(目标计算机域的域用户).
有没有人知道为什么用户尝试使用除提供的任何其他凭据登录以及为什么这样可以直接从Jenkins-slave运行它?
或者任何其他实现此目的的方法(在远程计算机上运行批处理文件)都非常受欢迎.
这是psexec的一个臭名昭着的问题:
http://forum.sysinternals.com/psexec-always-hangs-when-run-from-java_topic5013.html
您可以尝试使用xCmd:http://feldkir.ch/xcmd.htm (它不适用于localhost)
PAExec是PSExec的功能性克隆,让我们通过Jenkins等看到输出.
http://www.poweradmin.com/paexec/
XCmd是我们在惠普使用的,但由于某种原因它不适用于我目前的演出.
我不知道PAExec什么时候出现,但它似乎是一个理想的解决方案.发现它(今天)后不久,我发现了一个非常长/涉及的Jenkins部署管道的间歇性问题.