Сегодня, пытаясь настроить CodeQuality в моем .gitlab-ci.yml
(на gitlab-ee 11.10
, gitlab-runner 11.10
), я столкнулся со следующей проблемой:
Первое, что нужно документация GitLab говорит вам, что это можно установить с помощью DockerInDocker gitlab-runner
и одной строки конфигурации:
include:
- template: Code-Quality.gitlab-ci.yml
Существует также отказ от ответственности, что это поддерживается в gitlab 11.11
или позже, что странно, потому что по состоянию на 23 апреля 2019 года последняя версия - 11.10
. Не уверен, что это опечатка или они публикуют документацию до того, как релизы станут доступны.
Я пытался следовать этой инструкции, но многое неясно:
Я понял, что оператор include
должен быть добавлен после определения stages
для проверки синтаксиса.
A code_quality
задание обнаружилось и прошло:
![](https://gitlab.cozyo.io/mario.loaiciga/stackoverflow_assets/raw/master/imgs/pipeline.JPG)
Однако позже из этого ответа я узнал, что мне нужно создать .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, а затем добавить его конфигурацию в репозиторий и сослаться на gitlab-ci.yml
правильно? Но как сделать ссылку. Есть ли где-нибудь понятная документация?
РЕДАКТИРОВАТЬ: теперь я знаю, что задания независимы, и что я должен изменить этап build
в .gitlab-ci.yml
выше, чтобы выдвинуть образ сборки туда, где другие задания могут получить. Тем не менее, я думаю, что это не помогает решить проблему CodeQuality.