TeamCity Build Agent不会升级

时间:2012-09-18 18:55:25

标签: teamcity teamcity-7.0

我们正在尝试设置构建代理,每次启动时,日志都会显示以下消息:

[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 个答案:

答案 0 :(得分:16)

我遇到了同样的问题。构建代理和服务器都安装在Windows Server 2012上。

我停止了构建代理服务并从BuildAgent \ logs中删除了日志,并重新启动了构建代理服务,因此我可以看到一个新的日志。

upgrade.log向我显示构建代理收到了teamcity服务器的调用以进行升级。该日志还显示以下内容:

"请检查TeamCity构建代理服务用户是否有足够的权限来停止和启动服务。"

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

答案 1 :(得分:8)

TeamCity构建代理有时需要很长时间才能升级。如果您认为升级过程太长而没有取得积极成果,请执行以下操作:

  1. 卸载构建代理
  2. 从您的服务器下载构建代理包
  3. 重新安装代理
  4. 此后升级过程应该更快。如果没有帮助,最好联系JetBrains技术支持。

答案 2 :(得分:3)

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

agent.bat start

让代理更新此用户,然后一旦完成,您就可以在Teamcity UI中看到它已成功注册。终止进程并重新启动服务。

答案 3 :(得分:2)

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

有一些解决方法,但没有优雅的解决方案。原因如下:

  • 解决方法1:“TCBuildAgent”服务需要“jailed”需要分配给它的启动/停止服务凭据访问权限。 SubinACL是分配此功能的最佳工具(Here is the modification of the JS Bin)。
    • TeamCity 删除“TCBuildAgent”并安装新的,有效地消除了分配给它的服务凭据。因此,每次升级时都必须发出SubinACL授权访问命令。笨拙而讨厌
  • 解决方法2:上述向管理员组添加“jailed”的提示是可行的,并允许正确升级,但违反了“被监禁”用户的概念。

很多摆弄SubinACL后,我已经抛弃了,只是暂时向管理员组添加“jailed”以进行升级,然后将其删除。

我相信Jetbrains不会对TCBuildAgent做一些可怕和恶意的事情......不管是在升级过程中,无论如何;)

答案 4 :(得分:1)

我有类似的问题。帮我重新安装了防病毒软件。

http://devnet.jetbrains.com/thread/440728

答案 5 :(得分:0)

在Ubuntu 18.04上使用systemd运行代理时遇到此问题。升级时,代理以代码143退出,这被解释为错误。需要使用SuccessExitStatus=143 0

将其添加到可接受的错误代码列表中

这是完整的配置:

[Unit]
Description=TeamCity Build Agent
After=network.target

[Service]
Type=forking
RemainAfterExit=yes
PIDFile=/build-agent/logs/buildAgent.pid
ExecStart=/build-agent/bin/agent.sh start
ExecStop=/build-agent/bin/agent.sh stop
User=build
Group=build

Restart=on-failure
RestartSec=5s

# agent will exit with 143 during upgrade process
SuccessExitStatus=143 0

[Install]
WantedBy=multi-user.target

答案 6 :(得分:-1)

  1. 停止代理:

      

    ./ agent.bat stop

  2. 重新安装代理。

  3. 启动代理:

      

    ./ agent.bat start