我目前正在将StatSVN配置为在TeamCity中运行,遇到了一个我需要一些想法的问题。首先,StatSVN需要在已从SVN签出的工作目录下运行,它不能针对TeamCity从SVN导出的应用程序副本运行。因此,它需要在构建服务器上执行svn签出。
我所做的是创建一个bat文件,它运行StatSVN创建报告所需的三个命令,第一个命令是签出:
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签出模式配置为“自动on agent”来解决svn签出问题,从而导致实际的签出而不是导出(这肯定比手动命令更好),"svn日志“命令仍然会出现相同的问题。
发布于 2010-12-15 07:54:39
您至少可以通过使用
svn checkout --non-interactive这不会解决它不认识用户的问题,但可能会给您提供更多关于哪里出错的信息
发布于 2010-12-15 03:14:40
是否可以通过将teamcity上的签出从“服务器端”(导出)更改为客户端(签出)来解决这个问题?然后你就会得到你所有的svn文件夹。
然后,您可以将它们排除在构建(nant或msbuild)之外,这样它们就永远不会进入构建的项目文件夹中。
我知道这不能直接回答你的问题,但它可以解决你的实际问题。
发布于 2012-02-22 04:48:40
帮助OP可能为时已晚,但我在执行结帐时遇到了类似的问题。svn将继续提示输入用户名和密码,尽管它们是使用--username和--password交换机提供的。当添加--non-interactive开关时(按照Sander的建议),svn回答说密码不正确。实际上,密码是正确的,但是包含了没有正确转义的字符。
https://stackoverflow.com/questions/4446283
复制相似问题