如何使用 Octopus Deploy 和 TFS 2013 部署我的 nuget 包?

How do I deploy my nuget package with Octopus Deploy and TFS 2013?

我正在尝试将一个简单程序集完全自动化地部署到两个应用程序服务器(安装了 Tentacle 服务)上,我 运行 遇到了一些挑战。

我的收获:

可以 创建一个带有 /p:RunOctoPack=true 的 NuGet 包。 我可以 手动上传(发布?)程序包到我在 Octopus Deploy 服务器上的内置提要。 我可以使用 Octopus Deploy 门户将包部署到我的两个应用程序服务器。

我可以从 post () 中推断出我应该能够简单地将以下所有内容放在 Process/Build/Advanced/MSBuild 参数框中

/p:RunOctoPack=true /p:OctopusPublishPackageToHttp=http://octoserver:8081/nuget/packages /p:OctopusPublishApiKey=API-MYKEY.

但是我的构建返回错误

Exception Message: Access to the path 'C:\Builds\Experiments\CIBuildDef\bin\ConsoleTibcoMefClient1.1.0.0.0.nupkg' is denied. (type UnauthorizedAccessException)

有了这个程序集(一个简单的 .NET Class 库)。这些构建都被放入相同的路径 (C:\Builds\Experiments\CIBuildDef\bin)。我已经习惯了每次构建都会创建一个新文件夹。我一定是在构建定义设置中遗漏了一些东西。我收到这个错误是因为我还没有更改包的版本号吗?我似乎无法删除最初放在 Builds 目录中的 nupkg,即使从 Feed 中删除它之后也是如此。

如何使用 TFS 将我的 NuGet 包放入源中? 运行 我的 Octopus Deploy 如何从 TFS 执行步骤? 我问的问题对吗?

感谢您提供的任何意见。

你能从 tfs 构建服务器 ping 你的章鱼服务器吗?你能从你的 tfs 构建服务器远程登录到 8081 端口吗?如果可以,您应该重建项目而不是为同一个存储库构建。如果新的 nuget 版本不高于 1.0.0.0 octopack 可能会失败。您必须从您的 tfs 构建模板增加 nuget 版本。以下命令必须适合您。此命令用于使用 powershell 进行 msdeploy 部署。如果你想使用 msdeploy,你必须将它安装到触手上。我将它用于 Web 项目部署。 命令行参数:

/t:Rebuild /p:AutoParameterizationWebConfigConnectionStrings=False 
/p:DebugSymbols=false /p:DebugType=None /p:IsAutoBuild=True 
/p:CreatePackageOnPublish=true /p:Configuration=Release;DeployOnBuild=True;PackageLocation=".\obj\Release\Myproject.zip";PackageAsSingleFile=True /p:RunOctoPack=true 
/p:OctoPackPackageVersion=%VERSION%-dev 
/p:OctoPackPublishPackageToHttp=http://octopus.yourdomain.com/nuget/packages /p:OctoPackPublishApiKey=API-xxxxxxxxxxxxx