Рекомендации по Rails и CI, как часто это выполняется точно?или что является обычной практикой - PullRequest
1 голос
/ 01 октября 2011

Во-первых, выполняет ли автоматическое тестирование и круиз-контроль такие же задачи CI?

Я хочу настроить что-то, что будет запускать мои модульные тесты, а также интеграционные тесты на моем локальном компьютере MBP, т.е.для этого еще есть отдельный компьютер.

Является ли автоматическое тестирование чем-то, что запускается каждый раз, когда вы изменяете файл, а cruisecontrol - чем-то, что запускается с большей периодичностью, как один раз при каждой регистрации или чем-то еще?

большая нагрузка на компьютер?

1 Ответ

2 голосов
/ 01 октября 2011

Автотест и cruisecontrol - два разных инструмента, по мнению.Автотест поможет вам запускать необходимые тесты каждый раз, когда вы что-то меняете в своем приложении.Это хорошо работает в вашей локальной среде, поэтому вы автоматически получаете обратную связь, не забывая, что при запуске тестов изменился исходный код (или тестовый код).

Cruicecontrol (аналог Hudson / Jenkins / Bamboo / TeamCity)/ ...) Сервер непрерывной интеграции, который запускает определенные задания сборки, когда вы его определяете.Ниже приведены разумные альтернативы:

  • Запускать при каждой регистрации / коммите == поэтому непрерывно
  • Запускать почасовую сборку, чтобы получать регулярные отзывы.
  • Выполнить (big) ночная сборка, которая выполняет много проверок, проверку качества, ...

Обычно она получает все свое содержимое (источники, сценарии сборки, конфигурирование, ...) из системы контроля версий, напримерSubversion, Git, ... Обычно он используется в небольшой или большой команде, чтобы помочь объединить работу разных людей.

Так что, если вы работаете только на своей машине и проводите в основном юнит-тесты, автотест должен бытьдостаточно.В противном случае вы должны принять во внимание использование CI-сервера (локально), который, конечно, требует больше ресурсов, требует больше ресурсов.

Я не знаю, что такое издержки круиз-контроля, но локальный запуск Hudson - это большеJava-программа с голодом от 500 МБ до 1 ГБ.Автотест практически не требует дополнительных затрат, он просто автоматизирует то, что вы делаете в других местах вручную.

Я не думаю, что вы хотите запускать интеграционные тесты автоматически при каждом изменении, возможно, набор задач Rake, интегрированных в CI Server.и запустить вручную, сделает работу.

...