Teamcity代理处于断开状态(代理已取消注册(将升级))

时间:2016-01-30 15:41:35

标签: teamcity

Teamcity在服务器UI上构建处于断开状态的代理(代理已取消注册(将升级))。 构建代理服务处于挂起状态尝试重新启动但仍然无法正常工作,因此使用版本服务器手动升级了TC构建代理。重新启动构建代理服务。仍然断开连接请建议。

9 个答案:

答案 0 :(得分:13)

我遇到了这个问题并找到了解决方案,但我会对你的设置做一些假设。

这解决了我在Windows上使用TeamCity构建代理并作为用户帐户(而不是系统帐户)运行的问题。

  1. 停止了TeamCity服务并将帐户更改为系统帐户
  2. 启动TeamCity服务并等待大约10分钟升级完成。构建代理显示在“已连接”代理选项卡中,表示升级成功。
  3. 停止了TeamCity服务并切换回用户帐户
  4. 启动了TeamCity服务
  5. 另一个选项是授予用户帐户启动/停止服务的权限,但我改为使用此路由。有关这些步骤,请参阅this article

答案 1 :(得分:5)

旧问题,但有人可能会发现我的评论有用。如果您无法阅读升级日志,请检查buildAgent/update/文件夹,如果文件和文件大小在此特定文件夹中发生更改,则表示代理正在更新,您只需要等待。如果不是这种情况,但您仍然会在代理商下的团队城市中看到Agent has unregistered (will upgrade) - > 已断开连接然后代理挂起或存在问题。从服务中停止代理,然后通过提供agent.bat参数运行agent.sh(Windows)和stop(nix),然后使用start从同一脚本启动它论点。您还可以使用status参数查看代理的状态。如果这也不起作用,那么你必须阅读所有日志。

答案 2 :(得分:4)

这对我有用:

  1. 在“代理”标签中,我通过单击“#34;删除代理"”删除了构建代理。
  2. 我重新启动了这项服务。
  3. 我刷新了“代理”选项卡,并且构建代理出现在“未授权代理”中。
  4. 我授权代理商,它现已连接。

答案 3 :(得分:1)

可能是代理运行所在帐户的权限。在BuildAgent \ Logs \ Upgrade.txt中,您可以找到此

升级失败:无法停止TeamCity构建代理服务。请检查TeamCity构建代理服务用户是否具有足够的权限来停止和启动该服务。 java.io.IOException:无法停止TeamCity构建代理服务。请检查TeamCity构建代理服务用户是否具有足够的权限来停止和启动该服务。

虽然服务似乎在机器上运行正常(在我的情况下是Windows),但它会在日志中产生错误,而不是事件查看器或无法启动,并在升级时断开与TeamCity的连接。

我提供了更高的权限,它开始起作用了。如果您不想限制服务帐户的权限,请以Lemtronix的方式+1。

答案 4 :(得分:1)

对于不断重新启动构建代理服务并查看“代理已注销(将升级)”的人,请检查BuildAgent / logs下的日志以查看升级过程并等待。

答案 5 :(得分:0)

我有同样的问题。我触发了构建,代理自动更改为已连接状态。

答案 6 :(得分:0)

看起来代理程序会尝试自行升级,但是如果您的Windows服务是通过非管理员帐户运行的,则安装失败。 选项是:

  • @Lemtronix提议的对系统的临时更改服务帐户
  • 将用户添加到管理员组并重新启动服务。

答案 7 :(得分:0)

我在Ubuntu Linux 19.10上也遇到了这个问题,它与systemd有关。我的TeamCity代理使用systemd脚本启动和停止,显然这是阻止它们升级的原因。当我停止teamcity systemd服务并通过agent.sh start手动启动代理后,代理成功更新并正常运行。

答案 8 :(得分:0)

我在 TeamCity 2019.2.4 上使用 Windows Server 2016 解决了这个问题,具体步骤如下:

  1. 停止TeamCity Build Agent 服务。
  2. 停止TeamCity Server 服务。
  3. 启动TeamCity Server 服务。
  4. 启动TeamCity Build Agent 服务。
  5. 刷新浏览器窗口中的 TeamCity UI 选项卡,然后等待状态以绿色显示 Connected