Ответы пользователя по тегу Системное администрирование
  • Puppet deploy Rails

    @1nd1go
    Нужно использовать по-мимо puppet'а еще тул для разворачивания. Puppet — это «наполнятель» (provisioning). Т.е. это конфигурация системы в коде. Из-за этого принята модель обновления конфигурации раз в полчаса и т.п.

    Деплой приложения — это отдельная задача. Для нее есть MCollective, который раньше был в составе паппета, а теперь развивается отдельно. Он уже позволяет выполнять деплой по вызову на несколько машин, управляемых этим MCollective'ом. Аналогом этого тула как раз является Capistrano.

    Почитайте в книге Pro Puppet, как используется там MCollective.
    Ответ написан
    2 комментария
  • Задать вопрос на serverfault, а?

    @1nd1go
    Я думаю вам поможет в этом puppet, capistrano или chef. Правда тут все основано не на webморде, а на скриптах. Общее название для этих систем не помню.
    Ответ написан
    6 комментариев
  • Автоматизированная установка релиза на Prod?

    @1nd1go
    У нас это выглядит примерно так.
    1. Собрали все мавеном
    2. Положили в nexus (там соответственно разные версии артефактов)
    3. Деплой скрипт делает следующее
    — выкачивает war на прод
    — прибивает tomcat
    — распаковывает
    — запускает

    Откатывать также — просто скрипту передается предыдущая версия. Логи у в вас все в приложении, а также мавеновые.

    Апдейт Базы Данных — выполняется через maven flyway плагин или, если попроще — sql plugin и скармливается sql файл.

    Рассматривали другие «супер» тулы, типа capistrano, puppet и ваще. Но все сводится к тому, что все что они делают можно перенести в мавен, а тот минимальный функционал что нельзя (это остановка томката и выкачиваение артефакта) и шелл скрипт нормально работает.

    Шелл скрипт можно запускать из всяких TeamCity, Bamboo или Hudson'Ов в рамках многоступенчатых планов.

    Проблему, которую я так и не могу решить — это управление изменениями конфигов Tomcata и Apache: как их менять удобно так, чтобы они трэкались в svn'е, они частично тестировались на одном сервере, и по релизу выкатывать их на все сервера.
    Ответ написан
    Комментировать