Не могли бы вы использовать Nuget / OpenWrap для управления удаленными развертываниями?

#deployment #nuget

#развертывание #nuget

Вопрос:

Я еще не продумал это до конца, но, похоже, что если nuget — это инструмент для управления включением пакетов в известное местоположение, нельзя ли его использовать как средство развертывания для веб-серверов (веб-сайт сам по себе является очень большим пакетом)?

Служба, запущенная на веб-сервере, будет запрашивать обновления на сервере nuget и устанавливать их, когда они будут доступны. Потребовалось бы некоторое дополнительное управление (переработка пулов приложений, проверка того, что все ваши веб-серверы не обновляются одновременно и т.д.), Но я думаю, что это могло бы сработать?

Есть мысли?

Ответ №1:

Да, это определенно входит в дорожную карту openrasta / openwrap, так что это не сумасшедшая идея. Некоторые люди уже проделали часть этой работы самостоятельно.

Ответ №2:

Такого рода вещи обычно известны как настройка непрерывной интеграции (сокращенно CI). Вероятно, вы могли бы что-то скомпоновать с Nuget, но там уже есть несколько довольно хороших инструментов. Cruise и TFS, чтобы назвать пару.

Однако, если вы ищете проект mad scientist, продолжайте и сообщите сообществу, что у вас получилось!

Комментарии:

1. Нет, это не так. Непрерывная интеграция (с использованием cc.net / team city и т.д.) Используется для управления автоматизированными сборками и исходным кодом — компиляции сборок, запуска автоматических тестов, экспорта пакетов выпуска и т.д. У нас уже есть очень полная настройка CI. Я говорю о последней миле — фактически контролируемом развертывании программного обеспечения на нескольких серверах, которое могло бы стать частью непрерывного процесса доставки.

2. Правильно, экспорт пакетов выпуска. Я предположил, что обычно, когда кто-то обсуждает этот тип настройки, это происходит в контексте среды сборки. Вы правы, что CI делает намного больше, чем развертывание. Но в TFS и, как мне показалось, Cruise встроены очень хорошие варианты развертывания — например, MSDeploy / TFS2010.