Что Вы используете для развертывания веб-приложений? [закрытый]

У меня была та же проблема, когда мы использовали одну базу данных для двух приложений. Установка disableDatabaseInitialization="true" в разделе типа контекста работает для меня.



  


  
    
  

Подробнее https://msdn.microsoft.com/en-us/data /jj556606.aspx

6
задан Mathew Byrne 18 February 2011 в 01:03
поделиться

7 ответов

Когда и, где возможно, я предпочитаю автоматизированное развертывание такой как с Муравьем, даже развертывание FTP может быть довольно легко обработано. Автоматизация развертывания, во многом как автоматизированная сборка, вынимает работу предположения и ошибку из процесса и по определению предоставляет, по крайней мере, необходимую документацию абсолютного минимума (т.е. сценарий сборки), чтобы новый программист понял процесс.

3
ответ дан 9 December 2019 в 22:42
поделиться

Одна из вещей, используемых в предыдущей компании, была - хотите верьте, хотите нет - файлы об/мин. Когда мы создали наше программное обеспечение, все различные части его будут упакованы в файлы об/мин, которые были затем развернуты на сервере.

  1. Главные серверы в кластере имели список всех серверов и их ролей, которые будут использоваться для определения, в каких пакетах каждый сервер нуждался.
  2. Развернуть фаза проверила бы версии на каждом сервере и определила бы, каким серверам были нужны обновления. Каждый сервер получил бы копию любых новых пакетов, в которых он нуждался,
  3. Каждому серверу установил бы его пакеты развернуть сценарий, который будет управлять предварительной установкой и проверками после установки и задачами.
  4. Развернуть сценарий инициировал бы отдельный процесс, систему управления конфигурацией, для чтения шаблонов конфигурации, чтобы генерировать конфигурационные файлы для любых сервисов необходимый сервер (на основе его списка ролей) и сдать в аренду тех, которые к серверам
  5. Развернуть система генерировала бы список мер, которые должны были быть приняты (сервисы, которые будут перезапущены) для каждой системы и представить тех, которые к оператору, справляющемуся с обновлением. Оператор затем или выполнил бы перезапуски (если бы обновление происходило во время запланированного окна обслуживания клиента, или у нас был заказ на работу для сервисных перезапусков в полдень), или создайте тикет для ночного штата со списком задач, которые будут сделаны.

Об/мин является ужасающим взломом, но поскольку наши клиенты все выполняли Red Hat Linux (нашим требованием), это имело смысл. Если бы у меня был выбор, то я пошел бы с системой как Debian или Ubuntu, и открыл бы репозиторий, от которого могли все вытянуть системы. Однако, это работало хорошо на сотни клиентов с тысячами общего количества серверов. Крутой.

3
ответ дан 9 December 2019 в 22:42
поделиться

Мы используем "svn экспорт", когда он должен пойти живой. Сохраняет наш код при управлении версиями и позволяет нам активно разработать его на тестовых полях или нашем локальном компьютере.

2
ответ дан 9 December 2019 в 22:42
поделиться

Я еще не попробовал его, но я смотрю на использование Матрицы в будущем:

Матрица является простым pythonic удаленным инструментом развертывания.

Это разработано, чтобы загрузить файлы на и работать на командах оболочки, много серверов параллельно или последовательно. Эти команды сгруппированы в задачах (регулярные функции Python) и указаны в 'fabfile'.

Это немного похоже на dumbed вниз Capistrano, кроме он находится в Python, dosn't ожидают, что Вы развернете приложения направляющих и 'помещенные' работы команды.

В отличие от Capistrano, want's Матрицы для пребывания маленьким, легким, легким измениться и не связанный с любой определенной платформой.

2
ответ дан 9 December 2019 в 22:42
поделиться

rsync-> большой инструмент

Но, ответ зависит от Вашего enviro. Что Вы используете для управления исходным кодом? Что Вы используете для системы сборки? И т.д.

Развертывание для веб-сервера является не чем иным как командой "CP" в зависимости от который измененные файлы. Необходимо создать процесс, который отслеживает файлы, которые изменяют, вытягивают те файлы от управления исходным кодом, и затем продвигает те изменения. Когда Вы имеете дело с файлами PHP, как Вы знаете который файлы продвинуть? Это - проблема. Вы решаете это, Вы будете в порядке. Инструмент к CP, файлы и "развертывают" их, является легкой частью.

0
ответ дан 9 December 2019 в 22:42
поделиться

Я - парень.NET так для нас, это - CruiseControl + nant

Я услышал большие вещи о Струйных Мозгах TeamCity все же.

0
ответ дан 9 December 2019 в 22:42
поделиться

Capistrano работает очень хорошо на такого рода вещь. Это вышло из экосистемы Ruby on Rails и было первоначально очень сильно связано с развертывающимися приложениями для направляющих. Так как много людей заметило, что было удобно для управления удаленным сервером, это стало более общего назначения.

Без дополнительной установки, Capistrano:

  • Использование SSH для соединения с серверами приложений
  • Проверяет последний исходный код от Подверсии до нового, датированного, папки
  • Активирует новый выпуск путем обновления символьной ссылки или два
  • Перезагружает сервер приложений

И все это с функциональностью отката.

Другой хороший вариант состоял бы в том, чтобы использовать упаковочную систему Вашей операционной системы (об/мин, deb/apt, и т.д.). Это имеет тенденцию требовать хорошего уровня знакомства с Вашей операционной системой и ее политиками, но согласуется большой с другими инструментами, если Вы знаете то, что Вы делаете.

1
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: