我目前正在配置StatSVN以在TeamCity中运行,并且遇到了一些问题,我需要一些想法。首先,StatSVN需要在已从SVN签出的工作目录上运行,它不能针对TeamVity 从SVN导出的应用副本运行。因此,它需要在构建服务器上执行svn checkout。svn checkout在TeamCity中无人值守时运行密码的挑战
我所做的是创建了运行由StatSVN创建报表所需的三个命令一个bat文件,其中第一个就是结帐:
svn checkout [repository path]
现在,纠正我,如果我错了,但是这应该使用当前身份签出。当然,它直接从命令行直接运行。当它在TeamCity中运行时,构建运行器被配置为在与SVN中的权限相同的服务帐户下运行。事实上,使用相同的服务帐户来创建存储库和默认的目录结构,所以我毫不怀疑它拥有权利。
然而,每一次构建运行它挂起和停止之后,很明显,为什么:
[13:38:28]: C:\TeamCity\buildAgent\work\e8d4dc4070ecf602>svn checkout [repository path]
[13:38:29]: Authentication realm: <[svn server]> Subversion Repositories
[13:38:38]: Password for '[service account]':
[13:38:38]: Process exited with code 1
这似乎是挂并等待它显然无法获得,而运行无人值守密码。有没有人有任何想法,为什么会发生这种情况?
更新: StatSVN需要的下一个命令是转储提交历史的“svn日志”。即使通过将TeamCity VCS签出模式配置为“自动在代理上”来解决svn checkout问题,从而导致实际签出而不是导出(这当然优于手动命令),但“svn log”命令仍然存在同样的问题。
你实际上已经提出了一个很好的观点,这当然比手动的“svn checkout”命令更可取。不幸的是,StatSVN在这之后仍然需要你执行一个“svn log”命令,所以问题才转到下一个语句。 – 2010-12-15 07:41:23