我和一个小型(4人)开发团队在一个 C # 项目上合作。我已经建议设置一个构建机器,它将每晚进行项目的构建和测试,因为我知道这是一件好事。问题是,我们没有很多预算,所以我必须向当权者解释这笔开支。所以我想知道:
我需要什么样的工具/许可证?现在,我们使用 VisualStudio 和智能程序集进行构建,使用 Perforce 进行源代码控制。我是否需要其他东西,或者是否有一个相当于 cron 作业的东西来运行自动化脚本?
这到底能给我带来什么,除了显示我的身材有问题之外?我是否应该在这个解决方案(sln 文件)中设置将由这些脚本运行的测试项目,以便测试特定的函数?目前,我们有两个这样的测试,因为我们没有时间(或坦率地说,没有经验)来进行好的单元测试。
我需要什么样的硬件?
一旦构建完成并进行了测试,将该构建放在 ftp 站点上是一种常见的做法,还是有其他内部访问的方法?这个想法是,这台机器使 的构建,我们都去它,但可以使调试构建,如果我们必须。
我们应该多久进行一次这样的构建?
空间是如何管理的?如果我们每晚都在构建,我们应该保留所有旧的构建,还是在大约一周后开始抛弃它们?
还有什么我没看到的吗?
我知道这是一个很大的话题,我才刚刚开始。我在这里找不到这个问题的副本,如果有一本书在那里,我应该得到,请让我知道。
编辑: 我终于让它工作了!Hudson 非常出色,FxCop 展示了一些我们认为已经实现的特性实际上是不完整的。我们还必须将安装程序类型从旧的和破产的 vdproj 改为新的热点 WiX。
基本上,对于那些正在关注的人来说,如果您可以从命令行运行您的构建,那么您可以将它放到 Hudson 中。通过 MSBuild 从命令行运行构建本身就是一个有用的练习,因为它强制您的工具是最新的。