TeamCity - 没有使用 Octopus Deploy / Octopack 生成的工件

TeamCity - no artifacts generated with Octopus Deploy / Octopack

我有一个 Visual Studio 项目,它是在 TeamCity 中设置的,其构建任务是通过 OctoPack (3.0.43) 创建工件。接下来,一个部署任务,它从构建任务任务(成功构建时)接收输出 NuGet 包作为依赖项。

我已经尝试使用 MsBuild build-runner 和 Visual Studio (sln) 来设置构建任务,但是在这两种情况下 都没有创建工件.

我已将 OctoPack NuGet 包添加到我的 Visual Studio 项目中。

我自己找到了这个:

当我添加 OctoPack NuGet 包时,一切似乎都很好。在 various posts 的提示下,我查看了 OctoPack.targets 文件。在这里我偶然发现了 Install.ps1 文件,它似乎应该在将 NuGet 包添加到项目时在 VS 项目的 .csproj 文件中注入一些构建操作。

接下来,我删除了 NuGet 包并尝试重新安装,但这次使用 包管理控制台 (View > Other Windows > Package Management Console) 和命令:

Install-Package OctoPack

此输出如下:

Successfully added 'OctoPack 3.0.43' to MySolution.MyProject. & : File C:\somepath\mysolution\packages\OctoPack.3.0.43\tools\Install.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170. At line:1 char:3

因此,一些安全措施阻止了 PowerShell 脚本对 .csproj 文件执行其操作。

解法:

在同一个 window(包管理控制台)或提升的 PowerShell 中,执行

Set-ExecutionPolicy RemoteSigned

重试 NuGet 包安装(仍然相同 window 或使用 NuGet GUI)- 现在 NuGet 包安装程序应该注入您的 OctoPack 版本想要的任何内容。此后,我的 TeamCity 构建开始正确生成 OctoPack 工件。