2016-05-14 214 views
6

我读过很多关于使用各种版本的Visual Studio从TeamCity发布的文章。我目前使用的TeamCity的v.9.1.7和Visual Studio 2015年TeamCity使用Visual Studio 2015发布

我必须在办理入住手续我的3个构建步骤:

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

Build Steps

当我在我的文件检查我得到了维护设备TS传递成功消息:

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

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

Visual Studio Publish Profile

我不知道我错过了什么。我期待发布构建步骤能够像在Visual Studio中单击Build-> Publish菜单项一样工作。

我在猜测我错过了什么或者误解了发布构建步骤应该做什么。

任何帮助表示赞赏。

+0

不确定这可以解决问题,但发布步骤中的“目标”字段应该根据注释分隔空间或分号。 '重建;发布' –

回答

4

经过几天和几天的搜索后,我才得以使用它。我在Stack Overflow找到了答案的一部分。诀窍是把它从MSBuild的命令行工作:

C:\ TFS \项目\ myProject的\ APIproject>的MSBuild apiproject.csproj /P:DeployOnBuild =真 /P:PublishProfile =“属性\ PublishProfiles \ DEV.pubxml“ /p:VisualStudioVersion = 14。0

一旦我得到这个跑几次我能够创造队市一生成步骤(见本question/answer),我设置如下:

  • 构建文件路径:<location of the apiproject.csproj>
  • MSBuild的版本:微软构建工具2015年
  • 的MSBuild ToolsVersion:14.0
  • 运行平台:86
  • 命令李NE参数:/p:DeployOnBuild=true /p:PublishProfile= "C:\TFS\API\API\Properties\PublishProfiles\DEV.pubxml" /p:VisualStudioVersion=14.0
1

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

+0

什么是IIRC?现在一切都在我的本地机器上。所以技术上我有VS在哪里TC。一旦我得到这个所有拨打,我打算将它移到它自己的盒子。 – webdad3

+0

如果我记得正确 –

1

何处定义了工件位置。 你可以使用触角发布到各种环境。我想,你需要考虑工件配置。

0

VS可能会发现你的个人资料发布只用名字,如: /p:DeployOnBuild=true;/p:PublishProfile=DEV;非常有用的,如果你不止一个生成代理运行。

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

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应该是您的发布配置文件路径。

这将为你工作。