Одновременное создание и создание установочного пакета для кроссплатформенного приложения на разных ОС при изменении исходного кода

Например, у меня есть несколько Операционных Систем в моей виртуальной сети, например:

  • Windows 7
  • Fedora 17
  • Ubuntu 12.10
  • Mac OS X

и, возможно, другие (в будущем).

Все операционные системы имеют доступ к ртутному репозиторию моего кроссплатформенного приложения (например, написано в Qt).

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

На выходе я хочу установить пакеты для каждой из операционных систем в своей виртуальной сети.

Какие решения уже существуют для решения моей проблемы?

Спасибо за внимание!

0
nl ja de
Если я читаю вас правильно, кажется, что вы хотите что-то, что автоматически сделает все это для вас после нажатия. Я никогда не слышал о такой автоматической системе.
добавлено автор happy coder, источник
Вау, я узнал о чем-то, чего даже не представлял себе. Я вроде как снова возвращаюсь к программированию и пытаюсь сделать кроссплатформу. Что касается того, работает ли это для вас, я не совсем уверен, это довольно большой материал и выглядит вполне способным, но я никогда не использовал его раньше.
добавлено автор happy coder, источник
Система, которая делает что-то после нажатия. Например, TeamCity. Но, я не знаю, эта программа подходит для моей проблемы.
добавлено автор Milovidov, источник

1 ответы

То, о чем вы говорите, очень похоже на автоматизацию сборки или, возможно, непрерывная интеграция .

Существует множество продуктов, которые в основном сидят на сервере и контролируют ваш репозиторий управления версиями, ожидая изменений. Когда они находят их, они могут выполнять практически любые действия, которые могут быть автоматизированы. Большинство из них предназначены для выполнения таких задач, как построение проекта, выполнение модульных тестов, толкание артефактов на FTP и т. Д.

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

Я использовал Дженкинс в прошлом, но существует множество других. Googling «автоматизация сборки» - это, вероятно, ваш лучший выбор.

1
добавлено
@Milovidov - Дженкинс довольно легко настроить. Загрузите .jar и запустите его, в основном. Конечно, он ничего не делает, если вы не добавляете проекты, но есть несколько препятствий для входа. Вы могли настраивать различные действия по автоматизации как шаги после сборки в вашей среде IDE, но это менее приемлемое решение.
добавлено автор Tom W, источник
Большое спасибо! Но я думал, что существует более простой способ выполнить мою задачу.
добавлено автор Milovidov, источник
Спасибо, я попробую это мягко!
добавлено автор Milovidov, источник