Хорошо, вот в чем дело.
Я разрабатываю существующее (оно стало классическим приложением ASP, так что вы можете себе представить: P) веб-приложение под ASP.NET 4.0 и SQLServer 2005. Мы - 4 разработчика, использующие локальные экземпляры SQL Server 2005 Express, имеющие исходный код и проект базы данных Visual Studio
В этом веб-приложении есть несколько "вселенных" (так мы его называем). У каждого юниверса есть своя собственная база данных (в настоящее время на одном сервере), но все они используют одну и ту же схему (таблицы, sprocs и т. Д.) И один и тот же исходный код / код сайта.
Так что ручное развертывание действительно раздражает, потому что мне нужно развернуть исходный код, а затем вручную запустить сценарии sql для каждой базы данных. Я знаю, что ручное развертывание может вызвать проблемы, поэтому я ищу способ его автоматизации.
Недавно мы создали проект базы данных Visual Studio для управления схемой и создания сценариев diff-схемы с различными целями.
Понятия не имею, как сложить кусочки
Я бы хотел:
- У меня есть способ выполнить «синхронизацию» развертывания на целевом сервере (к счастью, у меня есть полный RDC-доступ к серверам, поэтому я могу при необходимости установить объекты). Под «синхронизированным» развертыванием я имею в виду, что я не хочу полностью развертывать все приложение, потому что в нем много файлов, и я просто хочу развернуть эти новые или измененные.
- Создание сценариев обновления diff-sql для каждой цели базы данных и объединение их всего в 1 сценарий. Для этого у меня должен быть где-то список имен баз данных.
- Копирование файлов сайта и выполнение сгенерированного сценария sql простым и автоматизированным способом.
Я читал о MSBuild, MS WebDeploy, NAnt и т. Д. Но я не знаю, с чего начать, и очень хочу избавиться от этого руководства по развертыванию.
Если есть лучший и простой способ сделать это, чем я перечислил, я буду рад прочитать ваш вариант.
Я знаю, что это не очень специфический вопрос, но я много гуглял по этому поводу и, похоже, не могу понять, как это сделать. Я никогда не использовал какой-либо инструмент автоматизации для развертывания.
Любая помощь будет по достоинству оценена,
Спасибо всем,
Привет