java - Sonarqube 集成到 gitlab.com 上的私有(private)仓库

标签 java docker gradle sonarqube gitlab-ci

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

最佳答案

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

关于java - Sonarqube 集成到 gitlab.com 上的私有(private)仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54712812/

相关文章:

java - E/RecyclerView : No adapter attached; skipping layout while trying to add TextView to layout

Java 简单正则表达式

java - FileWriter 是否使用缓冲区? (它的行为就像我的例子一样)

docker - docker 容器如何在Google App Engine中缩放?

docker - 如何删除 swarm 集群中的卷?

docker - 在circleCI上运行docker-container测试

gradle - Gradle:主要来源集取决于其他来源集吗?

java - Gradle构建的JAR找不到Gson

jenkins - jenkins gradle deploy-为什么.gradle foler由root拥有?

java - 如何避免我的 SVN 嵌入式 $Id$ 属性出现 "line is longer than 80 characters"?