Как использовать Гудзон при создании для нескольких платформ

Потоки и атомная энергетика.

С многоядерными процессорами теперь C++ нормы 0x должен был быть C++ 07.

G.

8
задан Tim 2 October 2009 в 20:26
поделиться

4 ответа

Мы используем Hudson для управления сборками C / C ++ (GNU C, GNU C ++, Watcom C) для нескольких ОС.Для нас программное обеспечение создано для Linux, Linux x64, QNX 4 и QNX6. Мы настроили его следующим образом:

  • 1 виртуальная машина для сервера Hudson, работающая под управлением Windows
  • 4 виртуальных машины, по одной для каждого типа подчиненного устройства, поэтому у меня есть 4 подчиненных устройства Hudson - по 1 для QNX4, QNX6 и Linux. 32 и Linux 64. Все они работают на одном сервере, как и разные виртуальные машины, и у нас не было никаких проблем. Мы строим около 100 проектов, почти поровну разделенных на 4 типа систем.

Вам не потребуется дополнительное оборудование. Существует плагин Hudson, который работает с виртуальными машинами VMWare, чтобы запускать и выключать их по мере необходимости.

Надеюсь, это поможет.

5
ответ дан 5 December 2019 в 17:38
поделиться

I've never used hudson for C++ but for what you are planning to do, it might make sense to look at the VMWare plugin and see if it will do what you want. I would recommend having only a single Hudson master if possible. What you most likely want to do is set up a VMWare machine image with a Hudson Slave process for each target environment then spawn a build in that Slave.

2
ответ дан 5 December 2019 в 17:38
поделиться

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

Однако, если вы хотите, чтобы несколько виртуальных машин сборки строились на одной физической машине, я думаю, вам понадобится очень мощная машина для этого. Компиляция C ++ требует довольно много ресурсов, и, IIRC, когда hudson запускает сборку, он запускает ее на всех платформах одновременно.

2
ответ дан 5 December 2019 в 17:38
поделиться

Обратите внимание, что между сервером, на котором работает Hudson, и ведомыми машинами, на которых создаются ваши программные приложения, не должно быть никакой связи. Благодаря магии Java, вы можете подключить разрозненные ведомые машины к ведущей с помощью JNLP. (Таким образом, независимо от того, физические это машины или виртуальные, вы можете иметь одну под управлением Windows, другую Linux; одну 32-битную, другую 64-битную; и так далее - все, что требуется вашим приложениям. Пока на всех этих машинах установлен JRE, они могут подключаться к мастеру Hudson и сообщать о состоянии сборок.

1
ответ дан 5 December 2019 в 17:38
поделиться
Другие вопросы по тегам:

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