我们的源代码存储在 Kiln/Mercurial 存储库中;我们使用 MSBuild 来构建我们的产品,并且我们有使用 MSTest(Visual Studio 单元测试)的单元测试。
存在哪些解决方案来实现持续集成机器(即构建机器)。
对此的要求是:
理想情况下,该系统可以在没有任何服务器组件的情况下在单个机器上运行(我们的产品并没有那么大)。
目前有哪些可用的解决方案?他们的优点/缺点是什么?从上面的列表中,哪些可以做,哪些不能做?
谢谢
最佳答案
TeamCity,来自 JetBrains ,ReSharp 的制造商,将完成所有这些工作。您必须针对“构建您的产品”的具体含义对其进行配置,但您可以配置您使用它指定的所有内容。
该软件可以提醒您构建失败,甚至只提醒负责 checkin 破坏构建的代码的人员。它甚至带有方便的网页,您可以查看仅查看您自己的更改、成功完成的构建、待处理的构建以及当前正在执行的构建。
由于它是一个分布式产品,您可以让它随着您的组织和产品一起成长。如果在某些时候您发现等待构建完成的时间过多,因为大量构建正在排队,您可以添加更多构建代理。构建代理基本上是安装在其他机器上的独立客户端程序,它们执行实际的构建配置。
它有两种风格,专业版和企业版。专业版是免费的,最多可以包含 20 个构建配置、20 个用户和 3 个构建代理。企业版拥有无限的用户和构建配置,您还可以使用基于 LDAP 的安全性(想想经过域验证的用户)。企业版还有其他一些好处。如果您需要的不仅仅是最初的 3 个,您还可以购买更多构建代理的许可证。
现在,如果“无服务器组件”意味着您不希望它像 Web 服务器一样运行,那么您将很难找到对您的提交使用react的东西。
但是,如果您的意思是不想安装服务器操作系统,那么 TeamCity 也可以在工作站版本的 Windows 上运行。这并不是说您不应该考虑为其设置合适的服务器,但如果您需要,它将在工作站上运行。
关于msbuild - Mercurial/Kiln + MSBuild + MSTest 的持续集成建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672509/