许多CI(持续集成)的新手“因为需要编译代码”而在其CI服务器上安装了VS(Visual Studio)。 MSTest是此处提到的通用引用。

为什么我不应该在CI服务器上安装VS(或者一般来说,不是开箱即用的任何软件)?

(此问题以前从未被询问过,因此我将其添加为引用。如果已经存在,对不起,我错过了,请合并。如果在一段时间内未提供此问题的答案,我可以自己添加一个。)

最佳答案

因为是,所以不需要。 Visual Studio许可证的价格非常昂贵,因此,在没有人使用的服务器上闲逛只是一个浪费,这有很多理由,为什么您仍需要在Continuous Integration上安装完整的Visual Studio实例。服务器-但以下是它们的计数器参数:

原因1:我需要对其进行编译。
现实:不,你不知道。您需要MSBuild进行编译,但在Windows SDK中为available for free。请注意,针对不同的操作系统和.NET版本有多个版本,因此请小心下载正确的版本。

原因2:我需要它来在服务器上进行快速修复。
现实:不,你不知道。您不应该在服务器上进行快速修复-您应该从版本控制系统中 checkout ,进行修复,在本地构建和运行测试,直到它起作用, checkin 并由CI系统为您完成其余工作。这就是为什么您拥有CI系统的原因。

原因3:没有Visual Studio,就无法运行CITest,也无法运行CI服务器。
现实:错。 AFAIK,MSTest运行程序也是SDK的一部分(至少这就是我们CI服务器上的样子-尽管由于我们目前没有任何测试,所以我无法验证它)。但是,快速搜索发现this blog post,它也说明了如何在不使用SDK的情况下进行操作。我没有详细阅读它,所以我不能保证它有效或合法。你被警告了。

随时在评论中添加更多原因,我将予以解决。

10-05 20:12
查看更多