Каков наиболее эффективный способ развертывания веб-сайта?


Я знаю несколько способов развертывания веб-сайтов:

  • FTP
  • Экспорт из системы управления версиями
  • Основывайте сайт на проверке системы управления версиями

Я вижу некоторые плюсы и минусы каждого из них. Существует ли какой-либо консенсус относительно наиболее эффективного способа развертывания новых сайтов ИЛИ изменений сайта?

Author: Grant Palin, 2010-07-13

4 answers

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

Мы используем.ЧИСТЫЙ аромат CruiseControl, с захватывающим названием.. CruiseControl.NET :)

Некоторые из ключевых функций включают:

  • Интеграция с различными системами управления версиями
  • Интеграция с другими внешними инструментами, такими как NAnt и Visual Studio
  • Может создавать несколько проектов на одном сервере
  • Удаленное управление и отчетность

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

 6
Author: Jarrod Dixon, 2010-07-13 02:22:53

Я предпочитаю автоматизированные и повторяемые развертывания. Вы определенно захотите начать с тега системы управления версиями, чтобы точно знать, что вы развернули, и можете повторно развернуть его в любое время. Затем используйте сценарии, чтобы отправить это на сервер, что-то вроде Capistrano, или просто самодельный сценарий bash, или что-то в этом роде.

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

 3
Author: Matthew Shanley, 2010-07-13 21:00:31

Я использую пользовательские скрипты. Для статических (на основе HTML) веб-сайтов я использую двойные каталоги с новыми и установленными версиями, затем скрипт запускает рекурсивный diff для новых и установленных версий и загружает только измененные файлы.

 1
Author: , 2010-07-13 02:31:38

Я использую git с несколькими настраиваемыми крючками для развертывания. Это даже имеет то преимущество, что я могу запустить несколько ветвей для сайтов разработки/тестирования/бета-тестирования/производства и выполнить некоторые CI. Для срочных исправлений git всегда позволяет выбирать конкретные коммиты из одной ветки в другую.

 0
Author: txwikinger, 2010-07-15 05:05:32