Я шукаю різні методи / інструменти, які ви використовуєте для розгортання проекту веб-додатків ASP.NET ( НЕ веб-сайт ASP.NET) для виробництва?
Мене особливо цікавить робочий процес, який відбувається між часом, коли ваш сервер постійної інтеграції збирає двійкові файли в певному місці і тим часом, коли перший запит користувача потрапляє на ці бінарні файли.
Ви використовуєте якісь конкретні інструменти або просто XCOPY? Як пакується додаток (ZIP, MSI, ...)?
Коли програма вперше розгорнута, як налаштувати пул додатків та віртуальний каталог (чи створюєте ви їх вручну чи за допомогою якогось інструмента)?
Коли статичний ресурс змінюється (CSS, JS або файл зображення), ви переукладаєте всю програму або лише модифікований ресурс? Як щодо того, коли сторінка збірки / ASPX змінюється?
Ви відстежуєте всі розгорнуті версії для даної програми, і якщо щось піде не так, чи є у вас процедури відновлення програми до попереднього відомого робочого стану?
Сміливо заповнюйте попередній список.
Ось що ми використовуємо для розгортання наших програм ASP.NET:
- До рішення додаємо проект веб-розгортання та налаштовуємо його на створення веб-програми ASP.NET
- Ми додаємо проект рішення ( НЕ проект веб-налаштування) до рішення та встановлюємо його для отримання результату проекту веб-розгортання.
- Ми додаємо власну дію встановлення і в події OnInstall запускаємо власну збірку .NET збірки, яка створює пул додатків і віртуальний каталог в IIS за допомогою System.DirectoryServices.DirectoryEntry (Це завдання виконується лише при першому розгортанні програми) . Ми підтримуємо декілька веб-сайтів у IIS, автентифікацію віртуальних каталогів та встановлення ідентифікацій для пулів додатків.
- Ми додаємо в TFS спеціальне завдання для створення проекту налаштування (TFS не підтримує проекти налаштування, тому нам довелося використовувати devenv.exe для створення MSI)
- MSI встановлюється на реальному сервері (якщо є попередня версія MSI, її спочатку видаляють)