我开始在我的项目中使用 ReSharper。所以,现在我尝试将 ReSharper 检查代码作业与 gitlab ci 一起使用。下面是 .gitlab-ci.yml 文件的一部分
inspect:
stage: inspectcode
script: "jb inspectcode MySln.sln -o=report.xml"
artifacts:
paths:
- report.xml
如果出现任何警告或错误,我真的希望这项工作失败。但它过去了。我该如何提供?
提前谢谢你。
你试过了吗
artifacts:
when: always
reports:
codequality: report.xml
?尽管您可能需要找到一种方法(工具应该存在)将其转换为正确的 json 报告文件(然后使用代码质量中的新 report.json 文件)。
inspect:
stage: inspectcode
script:
- jb inspectcode MySln.sln -o=report.xml
- grep -q "<Issues />" report.xml || exit 1
artifacts:
paths:
- report.xml
所以如果没有问题,那么 report.xml 将包含
<Issues />
Grep 会找到它并退出 0(成功)。
如果有一些问题,那么 report.xml 将包含
<Issues> ... </Issues>
Grep 找不到字符串和 ||将被执行。
我们执行exit 1(错误)。
Gitlab-runner 检查退出代码,让你知道工作是否成功。