2014-12-29 3 views
1

Я озадачен идеей непрерывного потока развертывания. Я пытаюсь понять это, так что я мог бы пропустить/смешивать много вещей, так что простите меня за то, что:Понимание непрерывного развертывания

У меня есть поток, как это:

а) Развертывание (первый раз)

  • сборки пакет, из SCM
  • SSH в случае облака
  • установки ЛАМПА
  • настройки каталогов приложений, создавать символические ссылки, которыми управляют БД миграция и т.д. ...
  • Run апач/MySQL -done

б) Повторное развертывание (второй раз)

Теперь проблема заключается в том, как мы будем латать изменения, которые мы сделали с момента предыдущего развертывания. Допустим, у нас есть изменения в БД, а также изменения исходного кода или исправления ошибок. Некоторые из вопроса я имею в виде, как

  • Как запомнить/магазин каждого конфиги развертывания (точную конфигу мы запускали первый раз) (Db пароля, имя хоста, IP-адрес и различные варианты конфигурации, которые мы сделали, связанные с каждое развертывание, если у нас настроены разные/несколько серверов развертывания)
  • Допустим, наша сборка пакетов была основана на экспорте svn/git, поэтому мы не можем использовать обновление svn/git В этом случае, как исправлять изменения или что лучше всего подходит?
  • У нас могут быть статические файлы, накопленные приложением, например вложения/документы с последнего времени Как обрабатывать статическое содержимое, входящее в состав приложения?
  • Так как у меня есть db под инструментом миграции (Liquibase), так что нажатие изменений на сервере не сложно. Но что лучше всего потока (например взять резервное копирование ...)

Эти вопросы вытекает из моего незнания этих инструментов и технологий, а не имея знакомство с непрерывной интеграции/доставки/развертывания (если это все о).

Вы можете спросить, что я сделал до сих пор. Мои текущие инструменты развертывания включают bash + perl + Liquibase. Каждый раз, когда у нас есть изменения, мы должны построить полный пакет сборки и выполнить те же шаги. Проблема заключается в том

  • Сво не полностью автоматические
  • Мы должны помнить развертывания конфиги для каждого экземпляра,
  • Fetch статического содержимого из старого каталога развертывания
  • Используйте датируемых симлинками

Моей текущее приключение - переносить все мои шаги сборки/развертывания на Phing. У меня уже есть seen, поэтому он не касается моих вопросов в деталях.

ответ

0
  1. Для автоматизации конфигурации проверить puppet
  2. Имейте свою схему базы данных и выборки данных в системе управления версиями, развернуть его как реальный код!