使用GitLab v11.11及更高版本的include语句的CodeQuality?

Mar*_*io 8 gitlab gitlab-ci gitlab-ci-runner gitlab-omnibus gitlab-ee

今天,在尝试在.gitlab-ci.yml(上的)中设置CodeQuality 时gitlab-ee 11.10gitlab-runner 11.10遇到了以下问题:

GitLab文档告诉您的第一件事是可以在DockerInDocker gitlab-runner和单个配置行的帮助下进行设置:

include:
  - template: Code-Quality.gitlab-ci.yml
Run Code Online (Sandbox Code Playgroud)

也有免责声明此gitlab 11.11版本或更高版本受支持,这很奇怪,因为截至2019年4月23日,最新版本为11.10。不知道这是一个错字,还是在发布实际可用版本之前是否发布了文档。

我尝试按照以下说明进行操作,但很多事情尚不清楚:

  1. 我意识到include应该在stages定义之后添加该语句以使语法检查通过。

  2. 一个code_quality工作出现并通过:


(来源:cozyo.io

但是,后来我从这个答案中得知,我需要创建一个.codeclimate.yml文件并以某种方式添加它.gitlab-ci.yml。该答案共有两个链接,可用于了解如何使用该链接,CodeClimate但我还没有找到添加的方法gitlab-ci.yml。我在与gitlab相关的页面中找到了一些示例,但没有使用include文档中描述的语句。

  1. 我找不到code_quaity通过的工作报告。在此答案中,有人指出该报告仅可在的合并请求上下载gitlab-ee。但是,这不切实际,因为开发人员必须开始发送垃圾邮件模拟合并请求,以查看他们的代码是否降级。

gitlab-ci.yml我使用看起来像这样:

image: docker:stable

variables:
  ARTEFACT: my_app
  VERSION: 0.1
  DOCKER_HOST: tcp://docker:2375/
  DOCKER_DRIVER: overlay2

services:
  - docker:dind

before_script:
  - docker info

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - docker build -t $ARTEFACT:$VERSION-DEV .

test:
  stage: test
  script:
    - docker run --rm --env MODE=DEV $ARTEFACT:$VERSION-DEV ./my_test.sh

include:
  - template: Code-Quality.gitlab-ci.yml
Run Code Online (Sandbox Code Playgroud)

理想情况下,这应该很简单,例如弄清楚如何CodeClimate用于python应用程序,然后将其配置添加到仓库中并gitlab-ci.yml正确引用?但是如何做参考。在某处是否有任何清晰的文档?

编辑:我现在知道工作是独立的,我应该修改上面的build阶段.gitlab-ci.yml以将构建映像推送到其他工作可以借鉴的地方。但这仍然无助于解决我认为的CodeQuality问题。

Art*_*han 0

首先,是的,GitLab 通常在正式发布之前就有即将发布的功能的文档。这些文档通常适用于通常在 GitLab.com 上运行的预发布版本。

\n\n

这些文档可能会更清晰,因此我鼓励您提交一个问题,详细说明如何改进文档,或者如果您对此感到满意,甚至可以提交 MR。

\n\n

请注意,代码质量是一项付费功能,因此需要 Starter 许可证才能进行自我管理安装(或 GitLab.com 上的铜牌)。

\n\n

代码质量流程将基于第一次运行的信息存储在codeclimate.json文件中。这只是未来运行的参考,并不是代码质量报告本身。在后续运行中,代码气候报告将在启动管道的合并请求中可见。

\n\n

为了使代码气候报告出现在合并请求中,必须满足以下条件:

\n\n
    \n
  • 您已经定义了一个生成代码质量报告工件的作业.gitlab-ci.yml
  • \n
  • 该作业不得是第一次运行。如果代码质量报告没有任何可比较的内容,则合并请求区域中不会显示任何信息。.gitlab-ci.yml当您第一次添加代码质量作业时就是这种情况。连续的合并请求将有一些可比较的内容,并且代码质量报告将正确显示。
  • \n
  • 必须存在代码错误。您的代码中必须存在降级/错误,因为这将在合并请求页面中显示。如果代码正确,则不会显示任何内容。
  • \n
  • .json 文件不能太大。存在一个现有问题,当相关 .json 文件非常大时,代码报告无法显示。
  • \n
\n