TeamCity使用Visual Studio 2015发布

时间:2016-05-14 13:25:06

标签: visual-studio teamcity

我已经阅读了很多关于使用各种版本的Visual Studio从TeamCity发布的文章。我目前正在使用TeamCity和Visual Studio 2015的v.9.1.7。

我在办理登机手续时有3个构建步骤:

  • 清洁&重建
  • 单元测试
  • 发布

Build Steps

当我签入我的文件时,我收到了测试成功消息:

Tests Passed

我可以从这里看出一些不正确的事情,因为我希望它能说出一些关于出版的事情。当我查看构建日志时,我看到以下内容:

  

[12:48:22] [API \ API.sln]发布[12:48:22] [发布] MSBuild [12:48:22] [MSBuild] API \ API \ API.csproj:构建目标:发布   [12:48:22] [API \ API \ API.csproj] _DeploymentUnpublishable

我的发布构建步骤是这样设置的:

Publish Build Step

在Visual Studio中的API项目中,我可以发布到网络上的正确位置。这是我的发布资料:

Visual Studio Publish Profile

我不确定我错过了什么。我希望发布构建步骤能够像我单击Visual Studio中的Build-> Publish菜单项一样工作。

我猜测我错过了某些内容或误解了发布构建步骤应该做什么。

感谢任何帮助。

5 个答案:

答案 0 :(得分:7)

经过几天的搜索后,我才能让它工作。我在Stack Overflow找到了部分答案。诀窍是让它从MSBuild命令行开始工作:

  

C:\ TFS \ project \ myProject \ APIproject> msbuild apiproject.csproj   / P:DeployOnBuild =真   /p:PublishProfile="Properties\PublishProfiles\DEV.pubxml"   /p:VisualStudioVersion=14.0

一旦我运行了几次,我就可以在Team City中创建一个Build Step(请参阅此question/answer)并设置以下内容:

  • 构建文件路径:<location of the apiproject.csproj>
  • MSBuild版本:Microsoft Build Tools 2015
  • MSBuild ToolsVersion:14.0
  • 运行平台:x86
  • 命令行参数:/p:DeployOnBuild=true /p:PublishProfile= "C:\TFS\API\API\Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0

答案 1 :(得分:1)

IIRC,从TeamCity发布需要在构建代理上安装某些文件或VS(实际上并不值得推荐)。您是否已将必要的文件复制到构建代理?

答案 2 :(得分:1)

定义了工件位置的位置。 您可以使用Tentacles将构建发布到各种环境中。 我猜,你需要看看工件配置。

答案 3 :(得分:1)

您可以使用MSBuild运行器来部署您的应用程序/ API enter image description here

添加命令行参数:

/t:Clean /p:DeployOnBuild=true /t:build /t:publish /p:PublishProfile=C:\_works\teamcity\publishprofiles\Publiush_Profile.pubxml /p:VisualStudioVersion=12.0

PublishPrfile URL应该是您的发布配置文件路径。

这对你有用。

答案 4 :(得分:0)

VS可能会找到只有名称的发布配置文件,例如: 如果您运行多个构建代理,/p:DeployOnBuild=true;/p:PublishProfile=DEV;非常有用。

如果您要部署到IIS,则可能需要添加AllowUntrustedCertificate=true;