Публикация исполняемых файлов и веб-сайтов с помощью NuGet
Я хочу стандартизировать наш механизм публикации для библиотек, исполняемых файлов и веб-сайтов.
Вся документация на веб-сайте NuGet говорит о публикации библиотек, инструментов и исходных файлов, но, как представляется, никаких указаний по структуре каталогов при публикации полностью упакованных исполняемых файлов и веб-сайтов не представляется.
Есть ли какое-либо руководство или существующее соглашение об этом?
Если бы я что-то сделал, это выглядело бы так:
exe/net40/*.*
website/net40/**/*.*
Ответы
Ответ 1
Мы используем Octopus Deploy Paul Stovell, инструмент автоматического развертывания, который извлекает из фида Nuget и распространяет ваше приложение с помощью центральной панели мониторинга.
У нас также есть сценарии msbuild, следующие за условностями на его сайте, которые сообщают вам как создавать файлы nuget.
По-видимому, последняя версия Teamcity (EAP) может автоматически упаковать ваши артефакты для пакетов nuget и действовать как NuGet сервер.
У нас был большой успех с использованием как TC, так и Octopus Deploy для автоматической сборки и развертывания.
Ответ 2
NuGet не предназначен для инструментов/приложений/исполняемых файлов. Он предназначен для вещей, которые входят в источник и работают с источником. Где NuGet останавливается, Chocolatey. Вы также можете использовать Octopus для обычного развертывания, см. ответ в этом вопросе с Octopus Deploy. Вы также можете интегрировать Chocolatey с Octopus.
Chocolatey будет иметь лучшую поддержку для упаковки веб-сайтов и получения их в качестве веб-сайтов в будущем. Во время этого ответа у него еще нет встроенной функции для установки веб-приложения.
Ответ 3
Я готовил установку Nuget в нашей компании для распространения наших библиотек для наших разработчиков.
Вещь с Nuget заключается в том, что вы можете делать много всего, но стоит ли пытаться сделать так, чтобы на самом деле это не предназначалось.
Сложнее использовать другое программное обеспечение, такое как CruiseControl или что-то подобное, чтобы распространять готовые программы и веб-сайты.
Большинство пользовательских вещей, которые вы можете делать с Nuget, можно использовать только в Visual Studio.
Возможно, вы также можете посмотреть Chocolatey (адаптация для Nuget для установки приложений)