Делаем Perl-приложения переносимыми. Создайте сценарий оболочки или используйте Puppet

У меня есть приложение Perl, которое я поддерживаю локально, которое необходимо регулярно архивировать и отправлять на другой сервер, который довольно жестко заблокирован. Цель состоит в том, чтобы гарантировать, что системные администраторы установят как можно меньше модов на Perl. Наше решение - заставить все работать против local :: lib.

Я видел некоторые возможности Puppet, которые, на первый взгляд, полностью справляются с этим. Я не эксперт в Puppet, я знаю только основную идею. Прежде чем начать большое приключение по изучению марионеток, я подумал, что посмотрю, есть ли у кого-нибудь здесь какие-либо предложения относительно наилучшего способа развертывания приложений Perl, которые зависят от local :: lib (я пытаюсь сохранить определенный вопрос) . То есть развертывание полностью автономных приложений на Perl.

Большое спасибо за любой свет, Джени

Изменить: я тоже наткнулся на это (в целях обсуждения).

Как управлять разработкой, сборкой и развертыванием приложения Perl ?


person Jane Wilkie    schedule 19.12.2011    source источник
comment
Вы также можете изучить PAR и PAR :: Packer и App :: Packer в целом.   -  person derobert    schedule 19.12.2011
comment
Кроме того, если есть системные администраторы, то им решать, хотят они использовать Puppet или нет. Вы можете послушать еженедельный EP FLOSS. 93, чтобы лучше понять, что такое Puppet и для чего он используется (примерно через час).   -  person derobert    schedule 19.12.2011
comment
Спасибо, Дероберт. У наших системных администраторов точно нет проблем с использованием Puppet. Они просто хотят однажды что-то настроить и забыть об этом. В очередной раз благодарим за помощь. Джени   -  person Jane Wilkie    schedule 19.12.2011
comment
Ну, это не то, как обычно используют Puppet. Обычно было бы у нас слишком много серверов для управления по одному вручную, поэтому мы автоматизируем управление серверами с помощью Puppet. Обычно вы не устанавливаете его и не забываете - вы обычно будете использовать его для административных задач на своих серверах. Думаю, вы ищете другое решение.   -  person derobert    schedule 19.12.2011
comment
Потрясающий! Спасибо, Дероберт! Это много замечательных вещей, и я думаю, что это ответ на мой вопрос. JW   -  person Jane Wilkie    schedule 19.12.2011
comment
Я сам работаю в похожей среде. Мое решение - убедиться, что все необходимые мне модули (за исключением стандартных модулей, которые, как я гарантирую, доступны на сервере) являются чистым Perl. Тогда развертывание - это всего лишь случай распаковки моего .tbz в нужное место. Мое приложение находится в / srv / [myapp], а начало @INC - это / srv / [myapp] / mod и / srv / [myapp] / lib. (Я понимаю, что жить в чистом мире Perl часто непрактично.)   -  person niczero    schedule 20.12.2011
comment
Сайт системного администратора - Ошибка сервера. Хотя, похоже, это не совсем не по теме.   -  person Brad Gilbert    schedule 20.12.2011
comment
Спасибо всем. Я всегда ухожу от С.О. умнее, чем когда я появился. Дероберт, Никцеро и Брэд Гилберт: спасибо, что помогли мне. JW   -  person Jane Wilkie    schedule 20.12.2011


Ответы (1)


Да, puppet или chef - это решение, которое я бы искал для развертывания приложений Perl.

Возможно, вас заинтересует работа Дэвида Голдена о Pantry, которая это несколько перловских способов использования Chef. Еще в июле он провел презентацию, которая дает хороший обзор.

person adrianh    schedule 04.09.2012
comment
Лучше поздно, чем никогда, если ответ появится. Я знаю, что было так много людей, которые говорили, что это излишество, но, честно говоря, пока это работает, я не совсем уверен, почему это излишне. Тот факт, что вы можете настроить 1000 серверов с марионеткой, не означает, что вы не можете настроить только один. Ответь на карму за тебя, Адриан. - person Jane Wilkie; 04.09.2012