TeamCity 发布使用 Visual Studio 2015

TeamCity publish using Visual Studio 2015

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

我在签入时有 3 个构建步骤:

当我签入我的文件时,我收到一条测试已通过的成功消息:

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

[12:48:22][API\API.sln] Publish [12:48:22][Publish] MSBuild [12:48:22][MSBuild] API\API\API.csproj: Build target: Publish [12:48:22][API\API\API.csproj] _DeploymentUnpublishable

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

在我 API 的 Visual Studio 项目中,我可以将其发布到网络上的正确位置。这是我的发布配置文件:

我不确定我错过了什么。我希望发布构建步骤能够像在 Visual Studio.

中单击构建-> 发布菜单项时一样工作

我猜我遗漏了什么或者误解了发布构建步骤应该做什么。

感谢任何帮助。

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

工件位置定义在哪里。 您可以使用 Tentacles 将构建发布到各种环境中。 我想,您需要查看工件配置。

经过几天又几天的搜索,我终于能够让它工作了。我在 上找到了部分答案。诀窍是让它从 MSBuild 命令行运行:

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

一旦我得到这个 运行 几次,我就能够在 Team City 中创建一个构建步骤(参见这个 )并且我设置了以下内容:

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

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

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

您可以使用 MSBuild runner 来部署您的 Application/API

添加命令行参数:

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

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

这对你有用。