У меня была та же проблема, когда мы использовали одну базу данных для двух приложений. Установка disableDatabaseInitialization="true"
в разделе типа контекста работает для меня.
Подробнее https://msdn.microsoft.com/en-us/data /jj556606.aspx
Когда и, где возможно, я предпочитаю автоматизированное развертывание такой как с Муравьем, даже развертывание FTP может быть довольно легко обработано. Автоматизация развертывания, во многом как автоматизированная сборка, вынимает работу предположения и ошибку из процесса и по определению предоставляет, по крайней мере, необходимую документацию абсолютного минимума (т.е. сценарий сборки), чтобы новый программист понял процесс.
Одна из вещей, используемых в предыдущей компании, была - хотите верьте, хотите нет - файлы об/мин. Когда мы создали наше программное обеспечение, все различные части его будут упакованы в файлы об/мин, которые были затем развернуты на сервере.
Об/мин является ужасающим взломом, но поскольку наши клиенты все выполняли Red Hat Linux (нашим требованием), это имело смысл. Если бы у меня был выбор, то я пошел бы с системой как Debian или Ubuntu, и открыл бы репозиторий, от которого могли все вытянуть системы. Однако, это работало хорошо на сотни клиентов с тысячами общего количества серверов. Крутой.
Мы используем "svn экспорт", когда он должен пойти живой. Сохраняет наш код при управлении версиями и позволяет нам активно разработать его на тестовых полях или нашем локальном компьютере.
Я еще не попробовал его, но я смотрю на использование Матрицы в будущем:
Матрица является простым pythonic удаленным инструментом развертывания.
Это разработано, чтобы загрузить файлы на и работать на командах оболочки, много серверов параллельно или последовательно. Эти команды сгруппированы в задачах (регулярные функции Python) и указаны в 'fabfile'.
Это немного похоже на dumbed вниз Capistrano, кроме он находится в Python, dosn't ожидают, что Вы развернете приложения направляющих и 'помещенные' работы команды.
В отличие от Capistrano, want's Матрицы для пребывания маленьким, легким, легким измениться и не связанный с любой определенной платформой.
rsync-> большой инструмент
Но, ответ зависит от Вашего enviro. Что Вы используете для управления исходным кодом? Что Вы используете для системы сборки? И т.д.
Развертывание для веб-сервера является не чем иным как командой "CP" в зависимости от который измененные файлы. Необходимо создать процесс, который отслеживает файлы, которые изменяют, вытягивают те файлы от управления исходным кодом, и затем продвигает те изменения. Когда Вы имеете дело с файлами PHP, как Вы знаете который файлы продвинуть? Это - проблема. Вы решаете это, Вы будете в порядке. Инструмент к CP, файлы и "развертывают" их, является легкой частью.
Я - парень.NET так для нас, это - CruiseControl + nant
Я услышал большие вещи о Струйных Мозгах TeamCity все же.
Capistrano работает очень хорошо на такого рода вещь. Это вышло из экосистемы Ruby on Rails и было первоначально очень сильно связано с развертывающимися приложениями для направляющих. Так как много людей заметило, что было удобно для управления удаленным сервером, это стало более общего назначения.
Без дополнительной установки, Capistrano:
И все это с функциональностью отката.
Другой хороший вариант состоял бы в том, чтобы использовать упаковочную систему Вашей операционной системы (об/мин, deb/apt, и т.д.). Это имеет тенденцию требовать хорошего уровня знакомства с Вашей операционной системой и ее политиками, но согласуется большой с другими инструментами, если Вы знаете то, что Вы делаете.