首页 > 解决方案 > Sonarqube 集成到 gitlab.com 上的私人仓库

问题描述

我想将 sonarqube 添加到 CI 中,以便我和我的团队可以查看我们的代码质量是否足够好。

我在 gitlab 注册表中设置了一个 Sonarqube 图像,并尝试将其集成到当前的构建脚本中。

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 版本)

标签: javadockergradlesonarqubegitlab-ci

解决方案


我不熟悉您在那里提供的 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


推荐阅读