关于 Rails 和 CI 的建议,具体运行频率是多少?或者什么是常见的做法

发布于 2024-12-07 17:18:20 字数 164 浏览 2 评论 0原文

首先,自动测试和巡航控制是否执行相同类型的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无人接听 2024-12-14 17:18:20

也许认为自动测试和巡航控制是两种不同的工具。每次更改应用程序中的某些内容时,自动测试都会帮助您运行必要的测试。这在您的本地环境中效果很好,因此您可以自动获得反馈,而不必记住运行已更改源代码(或测试代码)的测试。

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:

  • Run on each checkin / commit == therefore continuous
  • Run an hourly build, to get regular feedback.
  • Run a (big) nightly build that does a lot of checking, quality assurance, ...

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文