【问题标题】:No build failure in TeamCityTeamCity 中没有构建失败
【发布时间】:2016-12-15 11:05:52
【问题描述】:

我在 Linux Ubuntu 上运行 TeamCity 服务器。这些是我添加项目时的构建设置:

当我像这样从 Visual Studio 构建一个简单的 C 脚本时:

#include <stdio.h>

int main(void)
{
    printf("Hello world\n");

}

我删除了最后一个大括号,导致 Visual Studio 出现错误,TeamCity 仍然说它是成功构建的。 检查了我所有的失败条件:

是否有任何其他选项可以更改,所以我得到一个适当的错误?

【问题讨论】:

  • 你检查过构建日志吗?
  • [步骤 1/1] HelloWorld.sln.teamcity:构建目标:TeamCity_Generated_Build [HelloWorld.sln.teamcity] /opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/HelloWorld.sln 忽略 vcproj '你好世界'。 [HelloWorld.sln.teamcity] /opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/HelloWorld.sln 不知道如何处理 GlobalSection SubversionScc,忽略。 [HelloWorld.sln.teamcity] /opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/HelloWorld.sln 找不到项目 c38426d5-0d39-4143-8e78-394e644dd1ef [步骤 1/1] 进程退出,代码为 0
  • 这是我的构建日志:可能问题出在 [HelloWorld.sln.teamcity] /opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/HelloWorld.sln 找不到项目 c38426d5-0d39- 4143-8e78-394e644dd1ef ?
  • 是的,可能是这样。源代码管理中是否缺少某些文件?您还可以查看/opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/ 路径中的文件系统以查看已签出的内容。
  • 我没有看到任何文件丢失?

标签: c visual-studio teamcity


【解决方案1】:

当 xbuild 没有找到属于解决方案文件一部分的项目时,它显然会发出警告,而不是错误,这就是 TeamCity 不会将构建标记为失败的原因。

查看/opt/jetbrains/TeamCity/buildAgent/work/d4407e37ceba8427/ 文件夹以查看已签出的文件。验证解决方案文件中的路径信息(例如应该没有绝对路径)以及项目文件是否存在。

在解决方案文件中,您应该有这样的条目:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloWorld", "path-to-vcproj-file", "{c38426d5-0d39-4143-8e78-394e644dd1ef}"
EndProject

第一个 GUID 是项目类型,另一个 GUID 是项目 ID。

【讨论】:

  • 文件中有你上面所说的条目。唯一的区别是我有一个 .vcxproj 而不是 .vcproj
  • 路径是否正确? GUID 是否一致(包括大写/小写)?
  • 是的,路径是HelloWorld\HelloWorld.vcxproj
  • 在 TeamCity 中将 HelloWorld\HelloWorld.vcxproj 指定为项目文件而不是 sln 文件时是否有效?
  • 不,我不知道比我链接到的帖子中写的更多。也许会打开一个新问题,专门询问有关使用 xbuild 在 linux 上构建 vcxproj 的问题?
猜你喜欢
  • 2019-03-15
  • 2020-01-19
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多