On Wed, Oct 31, 2012 at 10:46:17AM +0400, Evgeniy Kosov wrote: > Привет. > > Кто-нибудь пакует свою перловку в rpm? Поделитесь, плз, опытом. > Внезапно возникла необходимость деплоиться на Linux. Хочется наладить > процесс с минимальным количеством своих велосипедов. > > В перспективе должна получиться цепочку вида: > > VCS -> CI tool -> RPM > > Спасибо. > > ЗЫ: а что вы используете для continuous integration?
Попробую поделиться своим опытом. IMHO, переход от cpanminus/perlbrew и прочего самосбора в $HOME и /usr/local к использованию штатного для Linux менеджера пакетов для развёртывания ПО является правильным направлением в случае долгосрочной поддержки и администрирования системы. Что хорошо для разработки бывает очень вредно в администрировании. RPM/DEB, а также надстройки urpmi/apt над ними позволяют поддерживать систему в консистентном состоянии, решая проблемы с зависимостями различных компонентов, конфликтами, давая гарантии целостности и безопасности. Именно из этих соображений майнтейнеры дистрибутивов пакуют perl модули в пакеты. На выходе получаем стабильный срез CPAN, в котором нет конфликтов между модулями и есть большая вероятность, что они рабочие (особенно это касается XS) Когда возникает необходимость обновить какой-либо модуль или несколько зависимых модулей, то сборка обновления в виде rpm/deb пакетов позволяет вам штатным способом устанавливать/удалять, обновлять/даунгрейдить эти модули на произвольном числе серверов и всегда получать гарантированный результат. Системному администратору не нужно быть разработчиком, чтобы развернуть такое обновление и запросто откатить его в случае проблем. Что касается утилит, то в rpm-based дистрибутивах многие используют cpan2rpm (http://search.cpan.org/dist/cpan2rpm/cpan2rpm) , в deb-based - dh-make-perl (http://search.cpan.org/dist/DhMakePerl/). Иногда требуется допилить полученный спек или rules для нормального результата. Полноценный сервис для сборки из git (или других VCS), на сколько я знаю есть у: Fedora - Koji (https://fedoraproject.org/wiki/Koji), OpenSUSE - OBS (http://openbuildservice.org), ALTLinux - Git.Alt (http://www.altlinux.org/Git.alt) Возможно (и наверняка) есть и другие. OBS позволяет собирать не только под OpenSUSE и даже не только rpm. Лично я использую ALTLinux и поэтому досконально знаю только последний из списка. Для своих задач мне потребовалась система сборки alt rpm из git с веб-интерфейсом, которая, как мне показалось, может быть полезна общественности, поэтому экспериментальный сервис доступен для всех желающих http://gear.truecrux.org (не сочтите за рекламу, просто эта тема для меня крайне актуальная ;) -- Vladimir Lettiev aka crux ✉ [email protected] -- Moscow.pm mailing list [email protected] | http://moscow.pm.org
