EC2 上的 TeamCity - 未找到 MSBuildTools 路径,但手动安装在 2012 Server R2 (AWS) 上

TeamCity on EC2 - MSBuildTools Path Not Found, yet manually installed on 2012 Server R2 (AWS)

希望能得到各位聪明人的帮助!

我有我的 CI 工具 TeamCity,在安装 VS 2015 时编译解决方案没有问题但是我从多个来源了解到 TeamCity 不需要 VS

随后,我创建了一个 EC2 实例并在我的构建服务器上安装了 JDK、MS BuildTools 2015、Build Agent 和 PsExec,并将其连接到装有 TeamCity 客户端的 EC2 服务器。

不幸的是,它给出了一个简单的解决方案的错误。 -- http://imgur.com/M8sdDRs

我将文件夹从我的开发机器移动到 CI 构建代理服务器

实际上,您不需要在 CI 服务器上安装 Visual Studio 2010 或 Visual Studio 2012。您只需将几个文件夹从开发机器复制到 CI 服务器上的相同位置。

• C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web • C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications

问题仍然存在,我已经停滞不前,对这个问题感到沮丧。

非常感谢!

如果您使用的是 Visual Studio (sln) step runner 类型,那么您将需要安装 VS,因为 requires devenv.exe 才能构建解决方案。除非您对此有特定要求,否则您可能应该切换到使用 MSBuild 作为构建引擎来删除对 devenv.exe 的依赖。配置 MSBuild 类型的构建步骤,将其指向您的解决方案和 select Microsoft Build Tools 2015 / 14.0.

我怀疑你所有的问题都会神奇地消失,因为你仍然需要像你提到的那样暂存一些 MSBuild(WebApplications 目标等​​)。多年来,我在尝试配置无状态、依赖性 'free' 代理构建时遇到了很大的麻烦; Windows / .NET SDK 是一堆蠕虫。

TeamCity 的建议 - 在 CI 服务器上安装 VS 以最大限度地减少错误的可能性。我安装了完整的社区版本,虽然 VS Isolated Shell 也很好,但我想尽量减少出错的空间。

我确保:Administration > [Project] > Build Configuration Settings > Agents Requirements 有 MSBuildTools14.0_x86_Path 存在并设置我的参数以遵循以下重要资源- http://blog.anthonybaker.me/2013/04/how-to-automate-builds-with-teamcity_3119.html