Назад | Перейти на главную страницу

Автоматизация развертывания программного обеспечения без вывода сообщений на Solaris 10

По сути, вопрос, который я хотел бы задать, связан с автоматизацией развертывания программных пакетов в Solaris 10.

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

Очевидно, что выполнение этого для многих ящиков (рассматриваемая цель) вручную может быть медленным и подверженным ошибкам.

Я считаю, что лучшая альтернатива - как-то автоматизировать этот процесс. До сих пор я думал о следующих вариантах и ​​отказался от них по той или иной причине.

1) Традиционные сценарии оболочки. Я только устранял их раньше, и у меня нет большого опыта с ними. Это будет мое последнее средство.

2) Скрипты Python с использованием библиотеки pexpect для анализа вывода системных команд. Это был мой первоначальный выбор, поскольку он был установлен в целевых средах Solaris. Однако я хочу быть уверенным, что больше не изобретаю колесо: P.

3) Скрипты Ant или Gradle. Они могут быть вариантом, поскольку в ящиках также включена java 1.5, и абстракции набора файлов могут быть очень полезны. Однако они могут не справиться с проверкой / настройкой прав пользователей и папок.

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

Благодарю вас за ваше время и помощь.

Возможно, вы захотите использовать для этого автоматизацию изменений. например, Puppet, Chef, cfengine, bcm2 или что-то еще.

Лично я использовал Puppet на Solaris последние три года и был вполне доволен своим решением. Мы используем его для управления всеми аспектами нашего системного администрирования: пользователями, файлами, заданиями cron, файловыми системами ZFS, подключениями NFS, зонами, службами (через SMF) и т. Д. Это очень полезно.

Поставщик пакетов Puppet SRV4 работает, но у него нет возможности извлекать файлы удаленно (например, через HTTP). Вы можете обойти это, написав функцию, которая устанавливает ваши пакеты за вас. Если пакеты доступны локально (через NFS), поставщик должен просто работать.

В дополнение к Solaris 10 мы используем то же репозиторий Puppet для управления нашими системами Solaris Express и Debian Linux.

Некоторое время я писал этот пост, который может быть полезным: http://mirrorshades.net/post/196593566