你怎么能设置宪兵与Teamcity一起运行时做一个构建

本文关键字:构建 一个 运行时 一起 设置 怎么能 Teamcity | 更新日期: 2023-09-27 18:12:33

我已经设置了一个Teamcity服务器,用于开始使用持续集成并进行每日构建,以及当检测到VCS签入时。我和我的团队现在正在制作一款电子游戏,我们使用Unity作为游戏引擎,c#作为编程语言。我在我们的项目中手动使用了Gendarme,并且完全可以使用它提供的好处。所以我尝试着让它作为Teamcity的一个构建步骤运行,但我似乎知道如何让它发挥作用。有人有使用这些工具组合的经验吗?欢迎分享经验。

谢谢。

你怎么能设置宪兵与Teamcity一起运行时做一个构建

最后我找到了一个解决方案,我把它贴在这里,这样任何感兴趣的人都可以看到。

Teamcity有一个命令行构建步骤,可用于使用Gendarme作为构建过程的一部分(对于自定义脚本,我将在构建步骤的工作区属性中编写,您需要将每个.exe放在哪里)。下面是它所需的控制台命令:

gendarme.exe --v --html Your'Path'To'Save'Report'GendarmeReport.html --severity all --confidence all "Path/To/Your/Project/Library/ScriptAssemblies/Assembly-CSharp.dll" "Path/To/Your/Project/Library/ScriptAssemblies/Assembly-CSharp-firstpass.dll" "Path/To/Your/Project/Library/ScriptAssemblies/Assembly-UnityScript-firstpass.dll"

可能,如果你在做Unity构建之后运行这个构建步骤,这里的组件将被Unity擦除,所以你需要在宪兵步骤之前有另一个控制台命令构建步骤,这一个:

Unity.exe -batchmode -nographics -quit

这将使unity重新生成库文件夹内容,然后运行Gendarme构建步骤将完成技巧。最后,Gendarme有时会抛出1退出代码,因为它完成报告,但报告已经成功,每个规则检查也,所以我认为这可能是一个小错误,根据Gendarme的手册,当

返回此代码

运行器执行成功,但存在一些缺陷找到或未指定程序集。

如果正确地检查了程序集,因为您有重新生成它们的步骤,那么您可以告诉Teamcity忽略退出代码1,您可以将此操作转到Build Failure条件和取消勾选选项构建过程退出代码不为零,这就是全部。