Что такое хороший инструмент для развертывания веб-сайтов в Windows? - PullRequest
9 голосов
/ 04 сентября 2008

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

Режим «что если» был бы неплох, так же как и возможность «откатить» последнее развертывание. Миграция базы данных не является обязательной функцией.

ОБНОВЛЕНИЕ: бесплатный / недорогой инструмент был бы хорош, но стоимость не единственная проблема. Инструмент, который может фактически управлять развертыванием из одной среды в другую (dev-> staging-> production вместо машины разработки для каждой среды), также был бы идеальным.

Еще одна полезная возможность - копировать только измененные файлы - некоторые из наших старых сайтов содержат сотни файлов .asp.

Ответы [ 7 ]

2 голосов
/ 20 сентября 2008

Для некоторых сценариев я использовал бесплатное изделие под названием SyncBack ( Скачать здесь ).

Обеспечивает сложную многоэтапную синхронизацию файлов (файловая система или FTP и т. Д., Сжатие и т. Д.). Программа имеет приятный графический интерфейс пользователя. Вы можете определять профили и группировать / выполнять их вместе.

Вы можете установить фильтр по типам файлов, именам и т. Д. И выполнять команды / программы после выполнения задания. Также имеется журнал заданий в виде отчета в формате html, который можно отправить вам по электронной почте, если вы запланируете задание.

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

alt text

2 голосов
/ 04 сентября 2008

@ Шон Карпентер Не могли бы вы рассказать нам немного больше о вашем окружении? Должно ли решение быть бесплатным? простой

Я считаю, что робокопия довольно приятна для такого рода вещей. Заверните в пакетный файл, и все готово. Это прославленная копия, но развернуть мой сайт не очень сложно. Просто скопируйте файлы.

Что касается откатов ... Вы используете управление исходным кодом, верно? Просто вытащите старый источник оттуда. Или, в своем пакетном файле, ТАКЖЕ скопируйте развертывание в другую папку с именем website yyyy.mm.dd, чтобы у вас была прекрасная папка, готовая к работе в чрезвычайной ситуации.

посмотрите на команду for для получения подробной информации о том, как получить части даты.

robocopy.exe
for /?

Да, это полный взлом, но он прекрасно перемещает файлы.

1 голос
/ 04 сентября 2008

Вы не указываете, используете ли вы Visual Studio .NET, но в Visual Studio 2005 и 2008 есть несколько встроенных инструментов:

Инструмент Копировать веб-сайт - в основном визуальный инструмент синхронизации, он выделяет файлы и позволяет копировать из одного в другой. Руководство, встроенное в Visual Studio.

aspnet_compiler.exe - позволяет прекомпилировать веб-сайты.

Конечно, вы можете создать пакет для веб-развертывания и развернуть его как MSI.

Я использовал комбинацию Cruise Control.NET, nant и MSBuild для компиляции, замены файлов конфигурации для конкретных сред и копирования файлов в выходной каталог сборки. Затем у нас был другой скрипт nant для копирования файлов (и при необходимости запуска скриптов базы данных).

Для отката мы сохранили бы все предыдущие развертывания, поэтому теоретически откат просто включал повторное развертывание последней рабочей сборки (и восстановление базы данных).

0 голосов
/ 06 января 2010

Попробуйте repliweb. Он обрабатывает полный откат к предыдущим версиям файлов. Я использовал его, работая на клиента, который требовал его использования, и я стал его большим поклонником, особенно:

  • Откат к предыдущим версиям кода
  • Аутентификация и правила для разных пользовательских ролей
  • Развертывание в нескольких средах
  • Полные отчеты пользователю по электронной почте / в журналах с указанием изменений, текущей версии и т. Д.
0 голосов
/ 23 декабря 2009

Может быть, rsync и некоторые пользовательские скрипты помогут.

0 голосов
/ 19 декабря 2008

Я бросил пытаться найти хороший бесплатный продукт, который работает. Затем я нашел Microsoft Sync Toy 2.0, которая, несмотря на отсутствие опций, работает хорошо.

НО мне нужно развернуть на удаленном сервере.

Поскольку я подключаюсь к службам терминалов, я понял, что при подключении могу выбрать свой локальный жесткий диск, а затем в обозревателе на удаленном сервере я могу открыть \\tsclient\S\MyWebsite на удаленном сервере.

Затем я использую synctoy с этим путем и синхронизирую его с моим сервером. Кажется, работает довольно хорошо и быстро ...

0 голосов
/ 04 сентября 2008

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

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