2012-09-18 80 views
13

我们正在努力建立一个生成代理我们每次启动日志显示以下消息时代理不会升级:TeamCity的构建

[2012-09-18 12:52:01,805] INFO - jetbrains.buildServer.AGENT - Starting agent shutdown sequence, reason: Restart agent, failed to download upgrade from server 
[2012-09-18 12:52:01,821] INFO - jetbrains.buildServer.AGENT - Host configuration for downloading updates: HostConfiguration[host=http://localhost:8000] 
[2012-09-18 12:52:01,821] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/teamcity-agent.xml ==> E:\buildAgent\temp\m8a1mAwTuLIngev3yRUMPUuaYWZFmMSh 
[2012-09-18 12:52:01,849] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/agentSystemInfo.zip ==> E:\buildAgent\update\plugins\agentSystemInfo.zip 
[2012-09-18 12:52:01,880] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/amazonEC2.zip ==> E:\buildAgent\update\plugins\amazonEC2.zip 
[2012-09-18 12:52:01,921] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/ant.zip ==> E:\buildAgent\update\plugins\ant.zip 
[2012-09-18 12:52:02,056] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/antPlugin.zip ==> E:\buildAgent\update\plugins\antPlugin.zip 
[2012-09-18 12:52:02,078] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/assembly-info-patcher.zip ==> E:\buildAgent\update\plugins\assembly-info-patcher.zip 
[2012-09-18 12:52:02,098] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/clearcase-agent.zip ==> E:\buildAgent\update\plugins\clearcase-agent.zip 
[2012-09-18 12:52:02,106] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/commandLineRunner.jar ==> E:\buildAgent\update\plugins\commandLineRunner.jar 
[2012-09-18 12:52:02,118] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/coveragePlugin.zip ==> E:\buildAgent\update\plugins\coveragePlugin.zip 
[2012-09-18 12:52:02,151] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/crashDetector.zip ==> E:\buildAgent\update\plugins\crashDetector.zip 
[2012-09-18 12:52:02,163] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/cvsAgent.zip ==> E:\buildAgent\update\plugins\cvsAgent.zip 
[2012-09-18 12:52:02,183] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/dotCover.zip ==> E:\buildAgent\update\plugins\dotCover.zip 
[2012-09-18 12:52:02,308] INFO - jetbrains.buildServer.AGENT - Downloading http://localhost:8000/update/plugins/dotNetPlugin.zip ==> E:\buildAgent\update\plugins\dotNetPlugin.zip 
[2012-09-18 12:52:03,830] INFO - agent.impl.AgentPortFileWriter - Delete agent runtime file from E:\buildAgent\logs\buildAgent.port 
[2012-09-18 12:52:03,831] INFO - jetbrains.buildServer.AGENT - Unregistering from build server: 5 

有没有人见过这样的事之前?我们查看了服务器日志,并没有看到任何内容,表明可能出现错误。

回答

7

TeamCity构建代理有时需要很长时间才能升级。如果您认为升级花费的时间太长,没有阳性结果如下操作:

  1. 卸载生成代理
  2. 从你的服务器
  3. 下载生成代理包安装代理

此后升级过程应该更快。如果没有帮助,最好联系JetBrains技术支持。

+0

是的,我们最终这样做。我将这个打开,直到我们从他们那里得到一个修复,然后我会发布它,因为至少有另一个人似乎有这个问题。 –

+0

你有没有得到这个决议? –

+1

我被困在相同的问题。 Resintalling does not help – praskris

13

我碰到了同样的问题。无论是生成代理和服务器安装的都是Windows Server 2012的

在我停止生成代理服务,并删除了BuildAgent \日志日志并重新启动构建代理服务,所以我可以看到一个新的日志。

upgrade.log的向我表明生成代理收到的TeamCity服务器调用升级。该日志还显示以下内容:“请检查TeamCity的生成代理服务用户有足够的权限来停止和启动服务”

使用本地安全策略,授予我生成代理服务用户“作为服务登录”权利,但这不足以启动和停止服务。默认情况下,只有管理员组的成员才能启动,停止,暂停,恢复或重新启动服务。在将构建代理服务用户添加到管理员组并重新启动构建代理服务后,升级成功完成,代理再次连接。

+5

如果您不想授予服务用户管理权限(您不应该从安全角度出发),还有另一种方法可以授予特定的服务启动/停止权限,请参见[此处](http:/ /windowsitpro.com/security/letting-user-start-and-stop-services-without-granting-user-administrator-privileges) – BatteryBackupUnit

+0

在这种情况下记录的错误将包括'无法停止TeamCity构建代理服务通过net.exe.'表明这将解决这个问题,就像它为我做的那样。上面的日志没有显示任何特别的症状。 –

0
  1. 重新安装代理
  2. 杀过程

    ./agent.sh停止杀

  3. 重启PC

1

如果您使用的是 “囚禁” 打造用户就像我们一样,你会看到“请检查TeamCity构建代理服务用户是否有足够的权限来停止和启动服务。”

有解决方法,但没有优美的解决了这个。这里的原因:

  • 解决方法1:“TCBuildAgent”服务需求“囚禁”的需求开始分配给它/停止服务证书的访问。SubinACL是您分配此的最佳工具(lengthy but full discussion)。
    • TeamCity 删除“TCBuildAgent”并安装一个新的,有效地消除分配给它的服务凭证。所以,每次升级时都必须发出SubinACL授予访问命令。笨拙和恼人
  • 解决方法2:的加入“囚禁”到Administrators组是可行的,并允许适当的升级上述提示,但违反了“囚禁”用户的概念。

与SUBINACL摆弄之后,我甩在了毛巾,只是暂时补充“囚禁”到Administrators组的升级过程之后,然后将其删除。

我相信Jetbrains的是不会做一些可怕的和恶意与TCBuildAgent ......不升级过程中,反正;)

3

一个非常简单的这样做,如果你的企业安全策略不允许的方式将用户添加到“管理员”组中,但您登录的用户具有提升的权限。停止服务的运行,通过SERVICES.MSC,然后打开命令提示符(使用提升权限)在代理bin目录并运行

agent.bat start 

让与该用户的代理更新,然后一旦完成,你可以看到它在Teamcity UI中成功注册。杀死进程并重新启动服务。