1

我有一个 Windows 服务,其中包含允许它呈现剃须刀模板的必要组件。此服务侦听消息队列并发送电子邮件,使用剃刀模板生成丰富的 html。

一切工作正常,但是,在使用 Octopus Deploy 部署它时,OctoPack 似乎将此服务视为一个网站并错误地打包它。

在添加 razor 模板功能之前,该服务曾经被正确打包,并且能够无忧部署。

打包的输出现在看起来像:

在此处输入图像描述

实际上,它只需要包含bin文件夹的内容。在我看来,OctoPack 现在似乎将服务视为网站。

我尝试添加一个 nuspec 文件,但这不起作用,我最终得到:

在此处输入图像描述

Nuspec 文件如下所示:

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

所以这也行不通。

我能做些什么来解决这个问题?

4

1 回答 1

1

我设法破解了一些东西来解决我遇到的问题。查看Octopus Deploy 文档后,我发现我可以将OctoPackNuGetProperties属性传递给 msbuild 并替换 nuspec 文件中的配置名称。

所以 nuspec 文件现在看起来像这样:

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

我现在传递/p:OctoPackNuGetProperties=config=Deploy给 msbuild,这意味着 OctoPack 现在可以正确打包服务 bin。

我仍然有兴趣从 Octopus 的某个人那里听到这是否是 OctoPack 的问题,或者是否与我的设置方式有关。

于 2015-05-03T09:38:18.177 回答