在运行命令行构建时,我对TeamCity有一些auth问题。它与关于executing an svn checkout command的现有问题有关,但我想在此明确提出:
为什么当TeamCity构建代理服务配置为在特定Active Directory帐户下运行且 不 本地系统帐户时,执行此命令时:
echo "%username%"
我得到了这个构建输出:
[20:52:04]: C:\TeamCity\buildAgent\work\b67560ceb299718c>echo "SYSTEM"
[20:52:04]: "SYSTEM"
这对我尝试以AD服务帐户的身份执行命令的方式造成了严重破坏,为什么会发生这种情况?其他构建运行程序(即MSBuild)正在以服务帐户的身份执行,为什么命令行不会发生这种情况?
更新1: 在带有Exec目标的MSBuild脚本中包装命令会做同样的事情 - 当前用户仍然是“系统”。
更新2:“set”命令的输出显示用户名为“System”,但用户个人资料指向服务帐户的用户个人资料:
[13:38:28]: USERDNSDOMAIN=[domain.dns name]
[13:38:28]: USERDOMAIN=[domain]
[13:38:28]: USERNAME=SYSTEM
[13:38:28]: USERPROFILE=C:\Users\[service account]
答案 0 :(得分:0)
您是否尝试在更改凭据后重新启动服务? 我指的是teamcity服务器和构建代理