ReSharper inspectcode 作业在 CI 上失败

问题描述 投票:0回答:2

我开始在我的项目中使用 ReSharper。所以,现在我尝试将 ReSharper 检查代码作业与 gitlab ci 一起使用。下面是 .gitlab-ci.yml 文件的一部分

inspect:
    stage: inspectcode
    script: "jb inspectcode MySln.sln -o=report.xml"
    artifacts:
      paths:
        - report.xml

如果出现任何警告或错误,我真的希望这项工作失败。但它过去了。我该如何提供?

提前谢谢你。

continuous-integration gitlab-ci resharper code-inspection
2个回答
0
投票

你试过了吗

  artifacts:
    when: always
    reports:
      codequality: report.xml

?尽管您可能需要找到一种方法(工具应该存在)将其转换为正确的 json 报告文件(然后使用代码质量中的新 report.json 文件)。


0
投票
   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 检查退出代码,让你知道工作是否成功。

© www.soinside.com 2019 - 2024. All rights reserved.