18

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

[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 

有没有人见过这样的事情?我们查看了服务器日志,但没有看到任何表明可能出现问题的内容。

4

7 回答 7

17

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

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

upgrade.log 显示构建代理收到了来自 teamcity 服务器的升级呼叫。该日志还显示以下内容:

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

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

或者,如 BatteryBackupUnit 和https://web.archive.org/web/20171019005501/http://windowsitpro.com/security/letting-user-start-and-stop-services-without-granting-user-administrator所述-privileges,可以授予 TeamCity Windows 用户帐户对 TeamCity Build Agent 服务的启动、停止和暂停权限。文章说,像

subinacl /service spooler /grant=contoso\cortana=top

就足够了。

或者,如果您不想使用 Microsoft 不再提供的工具,则可以使用 Process Explorer,如https://superuser.com/a/315709/12337中所述。

于 2014-08-19T21:26:20.993 回答
10

在 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
于 2019-05-05T20:16:54.853 回答
8

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

  1. 卸载构建代理
  2. 从您的服务器下载构建代理包
  3. 重新安装代理

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

于 2012-09-28T09:11:21.823 回答
5

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

agent.bat start

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

于 2017-01-17T12:01:54.610 回答
3

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

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

  • 解决方法 1: “TCBuildAgent”服务需要“入狱”需要分配给它的启动/停止服务凭证访问权限。SubinACL 是您分配这个的最佳工具(冗长但完整的讨论)。
    • TeamCity删除了“TCBuildAgent”并安装了一个新的,有效地消除了分配给它的服务凭证。因此,每次升级时都必须发出 SubinACL 授权访问命令。笨拙和烦人
  • 解决方法 2:将“jailed”添加到 Administrators 组的上述提示是可行的,并且允许正确升级,但违反了“jailed”用户的概念。

多次摆弄 SubinACL 之后,我放弃了,只是暂时将“jailed”添加到管理员组以进行升级过程,然后将其删除。

我相信 Jetbrains 不会对 TCBuildAgent 做一些可怕和恶意的事情……无论如何,不​​会在升级期间;)

于 2015-07-31T01:27:59.897 回答
1

I had a similar problem. helped me to reinstall the antivirus.

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

于 2013-09-04T00:26:22.387 回答
-1
  1. 停止代理:

    ./agent.bat 停止

  2. 重新安装代理。

  3. 启动代理:

    ./agent.bat 开始

于 2014-09-30T13:34:33.007 回答