我已经阅读了很多关于使用各种版本的Visual Studio从TeamCity发布的文章。我目前正在使用TeamCity和Visual Studio 2015的v.9.1.7。
我在办理登机手续时有3个构建步骤:
当我签入我的文件时,我收到了测试成功消息:
我可以从这里看出一些不正确的事情,因为我希望它能说出一些关于出版的事情。当我查看构建日志时,我看到以下内容:
[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
我的发布构建步骤是这样设置的:
在Visual Studio中的API项目中,我可以发布到网络上的正确位置。这是我的发布资料:
我不确定我错过了什么。我希望发布构建步骤能够像我单击Visual Studio中的Build-> Publish菜单项一样工作。
我猜测我错过了某些内容或误解了发布构建步骤应该做什么。
感谢任何帮助。
答案 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>
/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)
添加命令行参数:
/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;