问题描述
我们必须存放在窑/水银仓库我们的源$ C $ C;我们使用的MSBuild建立我们的产品,我们有使用MSTest的(Visual Studio的单元测试)单元测试
We have our source code stored in Kiln/Mercurial repositories; we use MSBuild to build our product and we have Unit Tests that utilize MSTest (Visual Studio Unit Tests).
有什么解决办法存在实施持续集成的机器(即构建机)。
What solutions exist to implement a continuous integration machine (i.e. Build machine).
有此要求是:
- 系统构建应该被踢出必要时 (即code在大家关心的信息库已经变化了)
- 实际构建之前,源$ C $ C的最新版本,必须从我们从建库收购
- 构建必须建立在整个产品
- 构建必须建立所有的单元测试
- 构建必须执行所有的单元测试
- 成功摘要/失败,必须在构建完成后发送出去;这必须包括关于构建本身,还哪些单元测试失败,哪些成功的信息。
- 摘要必须包含其中的变更是在此建立了尚未在previous成功(!)建立
- 系统必须配置的,因此,它可以从多个分支(/存储库)。建立
- A build should be kicked of when necessary (i.e. code has changed in the Repositories we care about)
- Before the actual build, the latest version of the source code must be acquired from the repository we are building from
- The build must build the entire product
- The build must build all Unit Tests
- The build must execute all unit tests
- A summary of success/failure must be sent out after the build has finished; this must include information about the build itself but also about which Unit Tests failed and which ones succeeded.
- The summary must contain which changesets were in this build that were not yet in the previous successful (!) build
- The system must be configurable so that it can build from multiple branches(/Repositories).
在理想情况下,该系统将不需要任何服务器组件上的单个设备上运行(我们的产品是没有那么大)。
Ideally, this system would run on a single box (our product isn't that big) without any server components.
什么解决方案目前可用?他们有什么优点/缺点?从上面的列表中,什么可以做,什么不能做?
What solutions are currently available? What are their pros/cons? From the list above, what can be done and what cannot be done?
感谢
推荐答案
TeamCity的,从,ReSharp的制造商,将尽一切这一点。您必须配置它具体是什么意思,以打造你的产品,但您可以配置多达你用它指定的一切。
TeamCity, from JetBrains, the makers of ReSharp, will do all of that. You will have to configure it for what specifically it means to "build your product", but you can configure up everything you specified with it.
该软件可以提醒您构建失败,甚至下降到仅警报负责在code,打破了构建检查的人。它甚至还带有方便的网页,你可以查看到只能看到自己的变化,从而构建他们已经成功通过,哪些是悬而未决,哪些是当前正在执行。
The software can alert you to failed builds, even down to alerting only the person responsible for checking in code that broke the build. It even comes with handy web pages you can view to see only your own changes, which builds they've been through successfully, which ones are pending, and which ones are currently being executed.
由于它是一个分布式的产品,你可以把它与您的组织和产品的发展。如果在某些时候你会发现,你在等待构建完成太多,因为很多的构建正在排队,您可以添加更多的代理商建立。构建代理是您安装额外的机器,执行实际构建配置基本上是独立的客户端程序。
Since it is a distributed product, you can make it grow with your organization and product. If at some point you discover that you're waiting for the build to complete too much, because a lot of builds are being queued up, you can add more build agents. The build agents are basically separate client programs you install on additional machines, that execute the actual build configurations.
它有两个版本,专业版和企业版。专业版是免费的,可包含最多20生成配置,20个用户,以及3生成代理。企业版有无限的用户,并建立配置,并且还可以使用基于LDAP安全(想想域验证的用户)。还有从企业版的一些其他的奖金。如果你需要比最初的3个,你也可以购买许可证更多的生成代理。
It comes in two flavors, the professional version and the enterprise version. The professional version is free, can contain up to 20 build configurations, 20 users, and 3 build agents. The enterprise version has unlimited users and build configurations, and you can also use LDAP based security (think domain verified users.) There's also some other bonuses from the enterprise version. You can also buy licenses for more build agents if you need more than the initial 3.
现在,如果无服务器组件是指你不希望它像一个Web服务器,你将成为pssed找到的东西,将您提交的反应很难$ P $。
Now, if "no server components" means you don't want it to act like a web server, you're going to be hard pressed to find something that will react to your commits.
不过,如果你的意思是你不希望有安装服务器操作系统,然后TeamCity的可以在Windows工作站版本的正常工作。这是不是说,你不应该考虑为它建立一个适当的服务器,但它会在工作站上运行,如果这是你所需要的。
However, if you mean that you don't want to have to install a server OS, then TeamCity can work on workstation versions of Windows as well. That isn't to say that you shouldn't consider setting up a proper server for it, but it will run on a workstation if that is what you require.
这篇关于为水银/窑+的MSBuild + MSTest的持续集成的建议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!