【问题标题】:Sonarqube integration into private repo on gitlab.comSonarqube 集成到 gitlab.com 上的私人仓库
【发布时间】:2019-07-09 19:15:49
【问题描述】:

我想将 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 版本)

【问题讨论】:

    标签: java docker gradle sonarqube gitlab-ci


    【解决方案1】:

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

    【讨论】:

    • 所以我试了一下,顺便说一句,谢谢,但我现在收到此错误SonarQube server [http://sonarqube:9000] can not be reached,看来仍找不到声纳,我应该将其设为 'registry.gitlab.com:9000/path/to/registry' 吗?跨度>
    • 根据文档,它应该是图像的名称,在本例中为sonarqube
    • SonarQube server [http://sonarqube:9000] can not be reached 当我使用http://sonarqube:9000 我做错了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 2017-07-19
    • 2019-10-28
    • 2022-10-13
    • 1970-01-01
    相关资源
    最近更新 更多