#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.