关于 Rails 和 CI 的建议,具体运行频率是多少?或者什么是常见的做法
首先,自动测试和巡航控制是否执行相同类型的 CI 任务?
我想设置一些东西来运行我的单元测试,以及我的本地 MBP 计算机上的集成测试,即我还没有单独的计算机。
自动测试是否会在每次更改文件时运行,而巡航控制是否会定期运行(例如每次签入或其他)?
对电脑的压力大吗?
First off, is autotest and cruisecontrol performing the same sort of CI tasks?
I want to setup something that will run my unit tests, and also integration tests on my local MBP computer i.e. I don't have a seperate computer for this yet.
Is autotest something that runs everytime you change a file while cruisecontrol something that runs at a more periodic basis like once every checkin or something?
Does it put a big strain on the computer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也许认为自动测试和巡航控制是两种不同的工具。每次更改应用程序中的某些内容时,自动测试都会帮助您运行必要的测试。这在您的本地环境中效果很好,因此您可以自动获得反馈,而不必记住运行已更改源代码(或测试代码)的测试。
Cruicecontrol 是(类似于 Hudson / Jenkins / Bamboo / TeamCity / ...)一个持续集成服务器,它在您定义它时运行定义的构建作业。以下是合理的替代方案:
它通常从 Subversion、Git 等源代码控制系统获取所有内容(源代码、构建脚本、配置……)。 。
它通常用于较小或较大的团队,以帮助整合不同人员的工作。
因此,如果您只在自己的机器上工作,并且主要进行单元测试,那么自动测试就足够了。否则,您应该考虑使用 CI 服务器(本地),这当然有更多的开销,需要更多的资源。
我不知道巡航控制的开销是多少,但在本地运行 Hudson 是一个更大的 Java 程序,需要 500 MB 到 1 GB 的内存需求。自动测试几乎没有任何开销,它只是自动执行您在其他地方手动执行的操作。
我认为您不想在每次更改时自动运行集成测试,也许集成在 CI 服务器中并手动启动的一组 Rake 任务可以完成这项工作。
Autotest and cruisecontrol are 2 different tools in may opinion. Autotest help you running the necessary tests each time you change something in your application. That works nicely in your local environment, so you get feedback automatically without having to remember to run the tests are having changed source code (or test code).
Cruicecontrol is (similar to Hudson / Jenkins / Bamboo / TeamCity / ...) a Continuous Integration Server, which runs defined build jobs when you define it. The following are reasonable alternatives:
It normally gets all its contents (sources, build scripts, configuration, ...) from a source control system like Subversion, Git, ...
It is normally used in a smaller or larger team to help integrate the work of different people.
So if you work only on your machine, and do mostly unit tests, autotest should be sufficient. Else you should take in consideration using a CI server (locally), which has of course more overhead, needs more resources.
I do not know what the overhead of cruise control is, but running Hudson locally is a bigger Java program with 500 MB to 1 GB memory hunger. Autotest has nearly no overhead, it just automates what you would elsewhere do manually.
I don't think you want to run your integration tests automatically on each change, perhaps a set of Rake tasks integrated in the CI Server and started manually will do the job.