我正在使用TeamCity(Win XP上的8.0.3)在DOS命令shell中简单地执行VBS脚本文件。该脚本与SVN交互以从各种存储库导出各种文件,并将它们放置在本地计算机上的某个位置。
当我在DOS命令shell中“手动”运行此脚本时(即外部并独立于TeamCity),脚本成功执行而没有问题。在与SVN的交互方面,脚本只执行svn export
命令,而我不提供--username
或--password
。如果需要凭据,则SVN将强制我输入这些凭证,以便脚本在DOS窗口中继续执行。显然,在此Windows之后将缓存凭据,以便下次我选择运行此脚本时,它只是起作用,因为我认为它已经知道凭据。
现在,假设TeamCity Server和TeamCity Agent在SAME机器上,就像我手动运行脚本一样,当TeamCity执行时,同样的脚本不起作用。
特别是,一旦尝试执行svn export
命令
svn export -r HEAD "PATH_TO_FILE_IN_SVN_REPO" "PATH_TO_FILE_ON_LOCAL_MACHINE"
我尝试在我的脚本中将--non-interactive
添加到我的SVN export
命令中,但这只是给了我
svn:'[subversion-url]'的选项:授权失败:无法 对服务器进行身份验证:拒绝基本挑战 (HTTP:// [颠覆宿主])
从我的调查中,我认为脚本由TeamCity使用名为“默认用户”的另一个用户执行,该用户位于“C:\ Documents and Settings \ Default User”下,当我尝试在此下手动运行脚本时用户,然后脚本挂起,当我按Ctrl+C
时,我可以看到脚本正在等待我的用户帐户AD密码。
我试图强制TeamCity使用我的本地缓存Windows凭据,但无济于事。
请帮忙!!我在这里没有想法:|
提前致谢。