gpt4 book ai didi

c++ - GitLab for c++ 中的 CodeClimate 报告未显示

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:42:17 24 4
gpt4 key购买 nike

我正在尝试为 GitLab 中的合并请求管道激活代码环境报告。 CodeClimate 分析器正在运行,但当我添加一些错误代码时没有显示任何警告。可能有一些我遗漏的配置。

我已将以下内容添加到项目 rot 文件夹中的 .gitlab-ci.yml 文件中:

include:
- template: Code-Quality.gitlab-ci.yml

我添加了 .codeclimate.yml 文件,如下所示:

plugins:
cppcheck:
enabled: true
config:
check: all
language: c++
stds:
- c++14
- c++17

构建作业完成并在日志末尾显示以下行:

f47a75dcba39: Pull complete
Digest: sha256:c8afb8c2037f7b9c5c9ae198aff00b1cf80db11d3591fbe89dfb3c69192663f1
Status: Downloaded newer image for codeclimate/codeclimate:0.72.0
WARNING: A new version (v0.85.3) is available. Upgrade instructions are available at: https://github.com/codeclimate/codeclimate#packages
Uploading artifacts...
gl-code-quality-report.json: found 1 matching files
Uploading artifacts to coordinator... ok id=227197201 responseStatus=201 Created token=4xyzSXzN
Job succeeded

这里可能有什么问题,因为合并请求没有显示任何 CodeClimate 报告?

在 GitLab 中,我创建了一个带有配置更改的合并请求(合并到 master 中)。以及一个带有一些错误代码的合并请求,基于第一个带有配置的合并请求(合并到 master 中)。

错误代码:

int non_used_int;

int non_initialized_int;

int dummy = non_initialized_int;





// empty for loop
for (int i=0; i<100; i++) {

}

最后一点:我正在使用 GitLab 提供的共享 GitLab 运行程序。

我遵循的指南:

最佳答案

[TLDR 向下滚动到解决方案]

您必须获得对 gitlab.yml 文件的更多控制权,最好的方法是安装 gitlab-runner本地

在本地机器上正确安装 gitlab-runner 和 docker 之后

在您的存储库上本地运行它(您必须在与 .gitlab.yml 文件相同路径的存储库文件夹中) 从最小的 .gitlab.yml 文件开始

本地运行的命令是

sudo gitlab-runner exec docker <Task-Name>

例如让我们使用这个最小的 gitlab.yml 文件

image: walberla/cppcheck

cppcheck:
script:
- cppcheck --error-exitcode=1 .

命令将是

sudo gitlab-runner exec docker cppcheck

输出将如下所示:

enter image description here

现在,如果一切正常以遵循 gitlab 管道输出,例如我所做的一个简单的 gitlab 仓库,只包含你的示例文件和 gitlab.yml

https://gitlab.com/Naor-Tedgi/cpp-ci-runner/-/jobs/235981732

现在我们获得了对所有进程的控制,您可以准确地看到 ci 内部发生了什么,并在本地运行相同的进程,例如在管道中 他们使用的图像是 docker:stable-did运行相同的步骤后,您将了解自己缺少什么

请记住,因为您在 docker 中使用 docker,所以您需要添加 --docker-privileged

 sudo gitlab-runner exec docker <Task-Name> --docker-privileged

[更新! 20/06/19]

在我们聊天之后,进一步调查我创建了一个使用代码质量和与上面提到的相同的 gitlab.yml 的简单示例,但遇到了同样的问题

https://gitlab.com/Naor-Tedgi/cpp-ci-runner/-/jobs/235981732

enter image description here

工件链接[404]:https://gitlab.com/Naor-Tedgi/cpp-ci-runner/-/jobs/235981732/artifacts/keep

我们发现从昨天开始 gitlab 代码质量工件存在一个 Unresolved 问题

Code Quality no 'Download' option and 'Keep' results in 404

https://gitlab.com/gitlab-org/gitlab-ee/issues/12274

并需要跟进此线程以获取更多信息

[解决方案]

7heviking

在对模板 Code-Quality.gitlab-ci.yml 进行更多调查之后

在 6 天前更改此文件的最后一次提交中,他们改变了 paths属性(property)reports

enter image description here

如图所示

https://gitlab.com/gitlab-org/gitlab-ee/commit/f0773d9ec8628e301c5a673ff7b7c2193569395d

将先前的文件与路径工件一起修复 404 的问题

解决问题的步骤:

  • 等待 Gitlab 解决这个问题
  • 或者您可以在没有模板文件的情况下使用 codeclimate正如我在我的示例项目中使用的那样

https://gitlab.com/Naor-Tedgi/cpp-ci-runner/blob/master/.gitlab-ci.yml

这是上传工件后的结果

https://gitlab.com/Naor-Tedgi/cpp-ci-runner/-/jobs/236205051

关于c++ - GitLab for c++ 中的 CodeClimate 报告未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56493468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com