Я разрабатываю и поддерживаю набор приложений для биоинформатики из 50+ сценариев, а процесс его развертывания - беспорядок:
- Весь пакет находится в одном большом репозитории git. Он имеет множество зависимостей CPAN и десятки внутренних модулей.
- Платформа разработки - Linux.
- Платформы развертывания - это Windows (20+ пользователей), Mac (10+), Linux (2-3). Большинство из них не являются "властными пользователями".
- Для окон у меня есть один инсталлятор (сделанный с NSIS) для клубника perl + требуемых модулей (т.е. я установил клубнику на окно, установил все модули и застегнул c:\strawberry), а другой установщик для пакета - - Я сделал это b/c, пакет обновлен намного больше, чем список необходимых модулей.
- Для Mac я собираю perl 5.14, все необходимые модули cpan и набор приложений в установщик с двойным щелчком. Я не использую систему perl b/c, она имеет тенденцию устаревать. Я собираю все вместе, в отличие от окон b/c. Я сосать на mac.
- Для Linux я обрабатываю их установки вручную, так как их только несколько, и они используют разные дистрибутивы.
Это, очевидно, беспорядок, который органично развивался над несколькими поколениями разработчиков. В идеале я хотел бы создавать дистрибутивы cpan-installable из внутренних библиотек и различных групп связанных скриптов и использовать зависимости модулей, чтобы позволить cpan установить их для меня.
Но я не уверен, какой лучший подход для этого, b/c мне все равно нужно будет распространять perl, нужно было бы написать какой-то интерфейс без командной строки для CPAN, контролировать точные версии Сторонних модулей CPAN, по умолчанию укажите его на "DarkPan", где я буду хранить наши модули, как я буду нажимать обновления и т.д. И т.д.
Я не думаю, что могу использовать PerlApp или Par с тех пор, как afaik это для объединения одиночных скриптов, а не из всего набора.
Любой совет высоко ценится.