TeamCity 2017.1.4:代理未运行且不兼容

时间:2017-09-28 08:01:09

标签: msbuild teamcity build-server

我已经使用'TeamCity-2017.1.4.exe'安装程序将TeamCity 2017.1.4(build 47070)安装到一个干净的Windows 2012R2服务器上,并选择了大多数默认设置。 “TeamCity Server”和“Team City Build Agent”都作为服务安装(代理与服务器位于同一台机器上)。

除了TeamCity,我还安装了:

  • MSBuild(适用于Visual Studio 2017的构建工具)
  • NUnit的
  • DOTNET Framework高达4.7

完成TeamCity安装过程后,我在管理员界面上面对以下消息:

  

以下代理尝试升级多次但未通过

有关此问题的帖子很多,但是对于早期版本的TeamCity都有。很多人说“只是等待,需要一段时间”,但不是那么久......我停止/启动服务,禁用并启用代理,并重启服务器n次。在全新安装后,默认的Build Agent不会运行,这似乎很奇怪。

因此,在尝试找出构建代理无法运行的原因时,我开始配置项目。我们正在淘汰旧的TeamCity服务器,因此在新服务器上添加所有构建步骤是一个简单的过程。

然而,对于这个项目,我现在面对的信息是:

  

NAMEOFAGENT(已断开连接)

Incompatible runner: NUnit Unmet
requirements:
Exists=>(DotNetFramework(4\.[5-9]{1}.*|[5-9]{1}.*|\d{2,}.*)_x86|Mono(3\.[2-9]{1}.*|3\.\d{2,}.*|[4-9]{1}.*|[\d]{2,}.*)) exists  
Exists=>(powershell_x86|powershell_x64) exists

所以,我有一些使用NUnit 2.6.4执行集成测试的构建步骤。它安装在服务器上,并检查注册表设置,我们当然在其默认位置安装了.NET和Powershell:

  • 安装了.NET Framework 4.7,由注册表项确认:Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ V4 \ Full
  • 安装了Powershell,由注册表项确认:Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ PowerShellEngine(和Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 3 \ PowerShellEngine)

有一篇帖子建议将以下内容添加到文件'c:\ TeamCity \ buildAgent \ conf \ buildAgent.properties'中:

  

DotNetFramework4.0_x86_Path = C:\的Windows \ Microsoft.NET \框架\ v4.0.30319   DotNetFramework4.0_x86 = 4.0.30319   DotNetFramework4.0_x64_Path = C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319   DotNetFramework4.0_x64 = 4.0.30319

重新启动服务器(以及启动/停止服务以及禁用/启用代理)仍然无法解决此问题。

我错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

您是否在Build Server上安装了Visual Studio?经过多次尝试安装SDK等后,我发现最好的方法就是在同一个盒子上运行VS.

  • 下载并安装最新的Visual Studio 2017
  • 下载并安装最新的Visual Studio构建工具

2017 Downloads

  • 请记住将新的MSBuild路径添加到您的操作系统环境PATH(例如C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin)
  • 不要使用自动检测构建设置(确保选择正确的VS版本)

然后重新启动构建框和Team City,并给代理一些时间来获取更改。