服务器场上的远程svn更新

时间:2015-06-24 02:31:57

标签: deployment psexec svn-update server-farm

我编写了一个在提交时触发的svn钩子。目标是自动 通过在每个服务器上运行svn update来更新多个服务器。

所以我的服务器拓扑由(所有在Windows 2012下运行)组成:
a)SVN_server
b)server1,...,N

我使用PsExec从SVN_server调用svn更新到server1,...,N

由于Web服务器(IIS)使用了更新的目录,因此可能会有一些文件 在svn更新时使用,所以我希望它偶尔会失败。

但是,间歇性的svn更新会挂起!在使用ProcessExplorer进行检查时,我看到psExec运行svn update,后者又以" conhost"的名称运行子进程。我假设这将是一些交互式提示,但我无法将标准输出重定向到文件以进一步调查。

仅供参考,post-commit.bat钩子(在存储库mysite上)看起来像:

:: first update SVN_server working folder
svn update d:\websites\mysite

:: then update server1,..,N
cmd /c c:\tools\PsExec.exe -i -u Admin -p Passw \\swWeb01 -h  c:\tools\svn update d:\websites\mysite

cmd /c c:\tools\PsExec.exe -i -u Admin -p Passw \\swWeb02 -h  c:\tools\svn update d:\websites\mysite
  1. 如何在远程svn update中重定向stdout / stdin?
  2. 在杀死被阻止的svn更新进程后,svn目录变脏了。 我必须使用svn cleanup来恢复。任何想法为什么会这样,我该如何解决?

0 个答案:

没有答案