Добре, тому що всі хочуть відповісти, яку я написав ще в 2008 році * ...
Я розповім, як ми це робимо зараз у 2014 році. Ми вже не використовуємо веб-сайти, оскільки зараз ми використовуємо ASP.NET MVC.
Нам, звичайно, не потрібен балансир завантаження і два сервери для цього, це добре, якщо у вас є 3 сервери для кожного веб-сайту, який ви підтримуєте, але це загальний перевибір для більшості веб-сайтів.
Крім того, ми не покладаємось на останнього майстра від Microsoft - занадто повільне і занадто приховане магія і занадто схильне до зміни його імені.
Ось як ми це робимо:
У нас є крок створення повідомлення, який копіює згенеровані DLL-файли у папку "bin-pub".
Ми використовуємо програму Beyond Compare (яка є чудовою **) для перевірки та синхронізації змінених файлів (через FTP, оскільки це широко підтримується) аж до виробничого сервера
На веб-сайті у нас є захищена URL-адреса, яка містить кнопку, яка копіює все, що знаходиться у «bin-pub», на «bin» (спочатку робимо резервну копію, щоб увімкнути швидкий відкат). У цей момент додаток перезавантажується. Тоді наша ORM перевіряє, чи є якісь таблиці чи стовпці, які потрібно додати та створює їх.
Це всього лише мілісекунд простою. Перезапуск програми може зайняти секунду або дві, але під час перезавантаження запити буферизовані, тому фактично просто нульовий час простою.
Весь процес розгортання займає від 5 секунд до 30 хвилин, залежно від того, скільки файлів змінено і скільки змін потрібно переглянути.
Таким чином, вам не потрібно копіювати весь веб-сайт у інший каталог, а лише папку бін. Ви також маєте повний контроль над процесом і точно знаєте, що змінюється.
** Ми завжди робимо очне яблуко змін, які ми впроваджуємо - як подвійна перевірка в останню хвилину, тому ми знаємо, що перевірити і чи готові щось зламати. Ми використовуємо програму "Більше порівняння", оскільки вона дозволяє легко відрізняти файли через FTP. Я б ніколи не робив цього без BC, ви не маєте поняття, що ви переписуєте.
* Прокрутіть донизу, щоб побачити це :( BTW я більше не рекомендую веб-сайти, оскільки вони повільніше будуватись і можуть погано працювати з половиною складених тимчасових файлів. Ми використовували їх у минулому, оскільки вони дозволяли більш спритний файл-за-файлом розгортання. Дуже швидко виправити незначну проблему, і ви зможете точно побачити, що ви розгортаєте (якщо ви, звичайно, використовуєте "Більше порівняння" - інакше забудьте це).