Непрерывная интеграция для решений Intersystems Cache - PullRequest
4 голосов
/ 13 января 2009

Я начинаю проект с нуля, используя Intersystems Cache. Я хотел бы настроить сервер непрерывной интеграции для проекта. Кэш имеет библиотеки модульных тестов, поэтому идея состоит в том, чтобы импортировать источник в тестовую базу данных, создать источник, запустить модульные тесты в терминале кэша на основе изменений в системе контроля версий (ClearCase).

Помимо Cache Objectscript, безусловно, будет некоторый Java-код, который также необходимо будет собрать. Другие технологии могут быть добавлены позже. Поэтому мне нужен инструмент непрерывной интеграции, который не привязан к какой-либо конкретной технологии и который легко расширяется. Я использовал CruiseControl для создания Java-решений в прошлом, но это было довольно давно, и мне интересно, нет ли лучшего решения с тех пор.

Какой самый лучший (и, как мы надеемся, бесплатный) продукт для непрерывной интеграции, который легче всего распространить на различные технологии?

Ответы [ 3 ]

6 голосов
/ 13 января 2009

Я бы порекомендовал посмотреть на Хадсон . Это безумно легко попробовать, так как он поставляется в виде исполняемого фляги. Он также поддерживает плагины , поэтому он может лучше подходить для расширения и настройки. Есть также много очень удобных плагинов для Hudson , уже выпущенных . Его поддержка ClearCase поставляется через плагин. Есть даже плагин для запуска и остановки виртуальных машин VMWare изнутри вашего процесса сборки, который может быть интересен в зависимости от того, как вы планируете обрабатывать «потребности» вашего сервера баз данных.

1 голос
/ 16 мая 2009

Я построил временный Сервер Непрерывной Интеграции в следующем скриншоте: http://www.ensemblisms.com/episodes/2

0 голосов
/ 15 сентября 2015

Раймонд Ростенбург !!

В настоящее время я тестирую стек для непрерывной интеграции, наше решение разработано в Caché, тестируемый сейчас стек включает в себя управление версиями исходного кода с использованием Git + TortoiseGit (с плагином «cache-tort-git» https://github.com/intersystems-ru/cache-tort-git/wiki для Caché) для локального управления версиями и BitBucket для удаленного управления версиями.

Для непрерывной интеграции я использую Jenkins (эволюция Hudson) с заданием, которое загружает обновленный исходный код, и после запуска сценария COS, который выполняет следующие задачи:

  1. Компилирует весь исходный код;
  2. Компилирует все правила CSP;
  3. Компилирует все страницы CSP;
  4. Запустить все юнит-тесты;
  5. Запустить все интеграционные тесты;
...