Интеграция Sonarqube в частное репо на gitlab.com - PullRequest
0 голосов
/ 15 февраля 2019

Я хотел бы добавить sonarqube к CI, чтобы я и моя команда могли видеть, достаточно ли хорошее качество нашего кода.

Я настроил образ Sonarqube в реестре gitlab и попытался интегрировать егов текущий сборочный скрипт.

build:
    stage: build
    script: gradle --build-cache assemble --debug
    cache:
        key: "$CI_COMMIT_REF_NAME"
        policy: push
        paths:
            - build
            - .gradle
        dependencies: []

src_check:
    services: 
        - registry.gitlab.com/zerra/zerra/sonarqube:latest
    stage: src_check
    script:
        - echo scanning code quality...
        - gradle sonarqube 

Я получаю ошибку SonarQube server [http://localhost:9000] can not be reached, хотя я ожидал, что добавление реестра к обслуживаемому серверу приведет к запуску сервера.

Что я могу сделать, чтобы это работало?(желательно без необходимости размещения локальной версии gitlab)

1 Ответ

0 голосов
/ 15 февраля 2019

Я не знаком с синтаксисом / поведением определения сервисов GitLab CI, которое вы там предоставили, но при условии, что контейнер запускается правильно, я думаю, что вам нужно получить к нему доступ под sonarqube:9000 вместо localhost:9000.

Контейнер SonarQube связан с контейнером, выполняющим сборку, и вы можете получить к нему доступ через имя хоста, идентичное имени контейнера.

По крайней мере, вот как я интерпретирую руководство здесь: https://docs.gitlab.com/ee/ci/docker/using_docker_images.html#how-services-are-linked-to-the-job

...