我正在尝试使用TeamCity和Leiningen设置构建,但是我认为这与我的问题没有特别的关系。
有两种TeamCity服务,一种用于构建服务器,另一种用于构建代理。两种服务都在“本地系统”下运行。服务器正在运行Windows Server 2008数据中心[版本6.0.6002]。
我已将文件复制到文件夹C:\ Windows \ System32 \ config \ systemprofile中,并且似乎可以作为系统帐户访问它们。通过“似乎”,我指的是能够从命令提示符处执行以下操作:
psexec -s \\localhost cmd
...
foo bar
foo bar
TeamCity构建代理应运行的命令在哪里。[这是极不可能有什么生成代理指定做一个差异,我做了什么; foo bar
并不比实际的单行命令短很多。]
我重新启动了两个TeamCity服务,但是相同的“ ...找不到”。错误仍然存在。我重新启动了服务器,因为我怀疑这可能与服务如何在服务器重新启动后才能访问环境变量的更改类似,但是(alas)似乎无法解决问题。
我现在怀疑这是TeamCity的问题。
尝试运行文件时,服务是否指定了文件的完整/确切路径?您可能可以在登录时运行它,因为它在您的PATH环境变量中,对于servic0e所登录的帐户而言,该变量可能不存在。
—
Ƭᴇcʜιᴇ007
@ techie007,该服务正在运行
—
肯尼·埃维特
foo bar
,并且抱怨无法找到具有该文件的确切完整路径的文件。我可以使用与运行该服务的帐户相同的帐户登录来运行它。psexec -s \\localhost cmd
以本地系统帐户运行命令提示符。
我已读过您的评论3次。我仍然不知道。我可以向您保证,如果您得到“找不到”文件,则实际上找不到该文件。
—
Ramhound 2014年
@Ramhound,关于我的评论(或问题)有什么特别不清楚的地方吗?我相信您是因为找不到该文件;我更新了问题,以声明我怀疑问题出在TeamCity程序上。我认为该命令是在更改的上下文中执行的,并且其中的文件不可访问。
—
肯尼·埃维特
我会先尝试而不使用速记。这意味着不要使用
—
Ramhound 2014年
\\localhost
整个目录和完整目录。