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

时间:2015-02-26 16:31:48

标签: tfs msbuild octopus-deploy

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

我取得的成就:

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

我可以从帖子(OctopusPublishPackageToHttp in TFS Service)推断出我应该能够将所有以下内容放在Process / Build / Advanced / MSBuild Arguments框中

  

/ P:RunOctoPack =真   / P:OctopusPublishPackageToHttp = http://octoserver:8081/nuget/packages   / P:OctopusPublishApiKey = API-的myKey

但是我的构建版本正在返回错误

  

异常消息:拒绝访问路径'C:\ Builds \ 1 \ Experiments \ CIBuildDef \ bin \ ConsoleTibcoMefClient1.1.0.0.0.nupkg'。   (输入UnauthorizedAccessException)

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

如何将我的NuGet包装到TFS的Feed中? 如何从TFS运行我的Octopus Deploy步骤? 我问的是正确的问题吗?

感谢您提供的任何输入。

1 个答案:

答案 0 :(得分:0)

你可以从tfs构建服务器ping你的章鱼服务器吗?你能从你的tfs构建服务器telnet到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