今天,在尝试在我的.gitlab-ci.yml
(on gitlab-ee 11.10
, gitlab-runner 11.10
) 中设置 CodeQuality 时,我遇到了以下问题:
GitLab 文档告诉您的第一件事是,可以借助 DockerInDockergitlab-runner
和单个配置行进行设置:
include:
- template: Code-Quality.gitlab-ci.yml
还有免责声明在gitlab 11.11
或更高版本中支持此功能,这很奇怪,因为截至 2019 年 4 月 23 日,最新版本是11.10
. 不确定这是否是一个错字,或者他们是否在发布实际可用之前发布了文档。
我尝试按照此说明进行操作,但许多事情尚不清楚:
我意识到
include
应该在stages
定义之后添加该语句以通过语法检查。一个
code_quality
工作出现并通过了:
(来源: coyo.io )
但是,后来我从这个答案中了解到我需要创建一个.codeclimate.yml
文件并以某种方式添加它.gitlab-ci.yml
。该答案共享两个链接,可用于了解如何使用,CodeClimate
但我还没有找到添加到gitlab-ci.yml
. 我在这个gitlab 相关页面中找到了一些示例,但是这没有使用include
文档中描述的语句。
- 我找不到通过的
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
理想情况下,这应该很简单,比如弄清楚如何CodeClimate
用于 python 应用程序,然后将其配置添加到 repo 并gitlab-ci.yml
正确引用?但是如何做参考。在某处是否有任何明确的文档可用?
编辑:我现在知道作业是独立的,我应该修改上面的build
阶段.gitlab-ci.yml
以将构建映像推送到其他作业可以从中提取的位置。这仍然无助于解决我认为的 CodeQuality 问题。