Лучший способ развернуть/обновить веб-производственный код

Я не могу полагать, что никто не упомянул Vyatta здесь!

http://www.vyatta.com/

Можно получить версию с открытым исходным кодом или получить бизнес-подписку (а также стойка маршрутизатора). Это сделает мультибледный и много других вещей.

6
задан 8 January 2012 в 22:43
3 ответа

Использование распределенных VCS, таких как mercurial, git или bzr, является хорошей идеей.

У вас может быть отдельная ветка для производства (или даже ветка для конкретного клиента в случае настроек).

Преимущества, которые я вижу:

  • легко выдвинуть исправление
  • легко вернуть в случае необходимости
  • история изменений
  • если кто-то внес исправление в производственную среду, вы увидите, что
2
ответ дан 3 December 2019 в 00:30

Независимо от вашей экосистемы разработки (Rails, Java) или VCS (GIT, SVN), наиболее важным аспектом развертывания вашего кода в любой среде является непрерывная интеграция .

Вот некоторые вещи, которые следует учитывать:

  • Поддерживать репозиторий исходного кода. Достаточно очевидно. Я работаю в магазине Java, и мы используем SVN. Независимо от того, какую VCS вы используете, важно иметь возможность тегировать / версию вашего кода, чтобы убедиться, что вы развертываете правильный код в разных средах. Имейте в виду, что вы не выполняете развертывание от разработки к производству, а скорее переносите код из системы управления версиями на машину сборки и создаете определенный пакет для каждой из ваших сред.
  • Автоматизируйте процесс сборки. Мы развертываем наши приложения в виде файлов WAR и используем Ant для создания наших пакетов развертывания.
  • Выполняем модульные тесты во время сборки. Важно прервать развертывание в случае сбоя модульных тестов.
  • Используйте сервер непрерывной интеграции. Мы используем Hudson и добились большого успеха. Это позволяет нам не только выполнять развертывание во всех средах (DEV, SIT, UAT, PROD) одним щелчком мыши, но также планировать сборки и развертывания в течение дня, чтобы обеспечить работоспособность всего процесса доставки.

В зависимости от вашей производственной среды. реализация этого может быть довольно тривиальной или довольно сложной. Вот еще несколько ресурсов, которые помогут вам начать:

Оба этих ресурса должны дать вам достаточно идей для создания вашего собственного процесса.

3
ответ дан 3 December 2019 в 00:30

Мы используем репозиторий Git в сочетании с Webistrano.

Git позволяет разработчикам управлять своим кодом децентрализованно и со всеми преимуществами VCS.

Webistrano позволяет разработчики или соответствующие менеджеры, чтобы отправить код на платформу разработки, а затем на производственную платформу, просто щелкнув веб-интерфейс. Это инструмент, разработанный для сред RoR, но он будет работать с небольшой настройкой практически в любой среде. Еще одним преимуществом Webistrano является то, что он позволяет легко откатывать в случае сбоев развертывания, что является очень хорошей особенностью.

Как системный администратор, я больше не могу жить без Webistrano. Это позволяет мне перестать беспокоиться о разработчиках (или сисадминах!), Которые делают глупости с производственными серверами во время развертывания. Он автоматизирован и прост.

1
ответ дан 3 December 2019 в 00:30

Теги

Похожие вопросы