Сервис упаковки окон Octopack, как если бы это был веб-сайт

У меня есть служба Windows, которая содержит необходимые компоненты, позволяющие отображать шаблоны бритвы. Эта служба прослушивает очередь сообщений и отправляет электронные письма, используя шаблоны Razor для создания расширенного HTML-кода.

Все работает нормально, однако, когда дело доходит до его развертывания с помощью Octopus Deploy, кажется, что OctoPack видит этот сервис как веб-сайт и неправильно его упаковывает.

До добавления функции шаблона бритвы эта служба правильно упаковывалась, и ее можно было без проблем развернуть.

Упакованный вывод теперь выглядит так:

введите здесь описание изображения

Когда на самом деле он должен просто содержать содержимое папки bin. Мне кажется, что OctoPack теперь относится к сервису как к веб-сайту.

Я попытался добавить файл nuspec, но это не работает, в итоге я получаю:

введите здесь описание изображения

Файл Nuspec выглядит так:

<!-- cut for brevity -->
<files>
  <file src="bin\**\*.*" target=""/>
</files>

Так что это тоже не работает.

Что я могу сделать, чтобы это исправить??


person simonlchilds    schedule 02.05.2015    source источник


Ответы (1)


Мне удалось взломать что-то вместе, чтобы решить проблему, с которой я столкнулся. Изучив документацию по Octopus Deploy, я обнаружил, что могу передать свойство OctoPackNuGetProperties на msbuild и замените имя конфигурации в файле nuspec.

Таким образом, файл nuspec теперь выглядит так:

<files>
  <file src="bin\$config$\**\*.*" target="" />
</files>

и теперь я передаю /p:OctoPackNuGetProperties=config=Deploy в msbuild, что означает, что OctoPack теперь правильно упаковывает служебный бин.

Мне все еще интересно услышать от кого-нибудь из Octopus, связана ли эта проблема с OctoPack или с тем, как я все настроил.

person simonlchilds    schedule 03.05.2015
comment
Вы можете просмотреть исходный код OctoPack на Github: github.com/OctopusDeploy/OctoPack/ tree/master/source Тем не менее, это вероятно преднамеренно, поскольку OctoPack — это просто оболочка для NuGet.exe. Дополнительный параметр MSBuild, как вы обнаружили, был способом настройки вашего пакета, а также изменения файла NuSpec. Поскольку сервер Octopus не имеет интеграции с вашим процессом сборки, то, как вы создаете свои пакеты, находится за пределами сервера Octopus. Только посредством настройки, как вы сделали с NuSpec и MSBuild, вы можете развернуть все с помощью NuGet и Octopus. - person osij2is; 05.05.2015
comment
Это не проблема с OctoPack. Если у вас есть файл web.config, OctoPack предполагает, что у вас есть веб-проект. Как указано osij2, вы можете просмотреть исходный код. В частности, просмотрите этот файл и посмотрите на функцию IsWebApplication(). - person JamesQMurphy; 26.03.2016