TeamCity使用Visual Studio 2015进行发布

8
我已经阅读了许多关于使用不同版本的Visual Studio从TeamCity发布的文章。我目前正在使用TeamCity 9.1.7和Visual Studio 2015。
我在检入时有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中单击“生成->发布”菜单项时的工作方式。
我猜我错过了什么或者误解了发布构建步骤应该做什么。
感谢任何帮助。

不确定这是否会解决问题,但是您发布步骤中的“targets”字段应该按照注释用空格或分号分隔目标,例如“Rebuild;Publish”。 - Electric Sheep
5个回答

8
经过数日的搜索,我终于让它工作了。我在Stack Overflow上找到了部分答案。关键是要从MSBuild命令行中使其工作:

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

一旦我运行了几次,我就能在Team City中创建一个构建步骤(请参考这个问题/答案),并设置以下内容:
  • 构建文件路径:<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

我在哪里设置“构建文件路径”? - Nitin Sawant

1

文物的位置在哪里定义。 您可以使用Tentacles将构建发布到各种环境中。 我猜你需要看一下文物配置。


1
你可以使用MSBuild运行器来部署应用程序/APIenter 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

发布配置文件的 URL 应该是您的发布配置文件路径。
这将对您有帮助。

1
我记得,从TeamCity发布需要某些文件或者在构建代理上安装VS(这真的不推荐)。你是否已经将必要的文件复制到构建代理上?

IIRC是什么?现在所有东西都在我的本地机器上。所以技术上我有VS和TC在一起。一旦我把这些都调好了,我计划将它移动到它自己的盒子上。 - webdad3

0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接