как автоматизировать или упростить многоплатформенную сборку/тест перед фиксацией?

Наше программное обеспечение основано на Linux и платформах окон. В зависимости от предпочтения разработчика вклад разработан и протестирован на любой платформе и затем предан нашему репозиторию подверсии. Затем оказывается, что вклад не основывается на другой платформе, и фиксация должна быть сделана. Закрепление на другой платформе может снова повредить сборку на исходной платформе и так далее.

Я видел бы, что вклад создается (и протестированная регрессия) на другой платформе также прежде чем быть фиксировавшим. У нас есть непрерывный сервер сборки (CruiseControl), но тот сервер сборки из репозитория. Я ищу решение, где непрерывный сервер сборки основывается на другой платформе как на проверке перед фиксацией и затем фиксирует материал, если сборка и тест успешно выполняются.

Какие-либо предложения?

5
задан andreas buykx 28 November 2008 в 13:06
поделиться

5 ответов

Matheiu Godlewski сделал хорошее предложение в CruiseControl wiki

Если Вы комбинируете его предложение с элементом вето, я думаю, что Вы должны быть установлены.

0
ответ дан 14 December 2019 в 09:03
поделиться

Предварительно протестированные дескрипторы Teamcity фиксируют, Вы можете делать что-то с новыми функциями объединения в цепочку сборки в 4,0 (http://www.jetbrains.com/teamcity/features/newfeatures.html). Агенты являются кросс-платформенными и могут быть настроены, чтобы только выполнить конкретные биты сборки, так мог возможно быть настроен, чтобы только выполнить подмножество тестов.

Обратите внимание, что я на самом деле не сделал этого :)

6
ответ дан 14 December 2019 в 09:03
поделиться

Могло бы быть легче иметь два ответвления, тот, где люди регистрация и другой, который они объединяют свои изменения в то, после того, как они передали непрерывную интеграцию.

1
ответ дан 14 December 2019 в 09:03
поделиться

Мы использовали сделанную на заказ буровую установку и тестовую буровую установку, которая могла удаленно развернуться к нескольким Ose (и нескольким продуктам Базы данных на нескольких Ose). Это было сделано как ночная сборка с правилом, что Вы исправляете свои ошибки следующим утром.

Нет совершенно непрерывный затем, но это - потенциально большая работа, чтобы сделать на рычаге перед фиксацией. Особенно, если Ваш репозиторий управления исходным кодом блокирует затронутые файлы на время выполнения рычага перед фиксацией.

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

0
ответ дан 14 December 2019 в 09:03
поделиться

Douglas Leeder предложил ответвление "интеграции" - хорошая вещь об этом состоит в том, что возможно автоматизировать. Если тесты передают - объединяются с 'соединительной линией'.

Некоторые системы управления версиями (например, bzr/hg/git) делают это легче, чем другие, но это возможно на большинстве.

0
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: