Gitlab CI运行代码质量未生成.json文件

时间:2019-03-07 06:51:38

标签: docker gitlab gitlab-ci docker-in-docker

我跟随official guid部署了一条管道来分析我的代码质量。尽管通过了管道并成功完成了工作,但docker并没有生成json文件。这些通知就消失了:

  

警告:有一个新版本(v0.83.0)。升级说明   可在以下网址获得:https://github.com/codeclimate/codeclimate#packages   正在上传工件...警告:gl-code-quality-report.json:否   匹配的文件错误:没有要上传的文件
  作业成功

这是我的 /etc/gitlab-runner/config.toml 文件:

    concurrent = 1
    check_interval = 0

    [session_server]
      session_timeout = 1800

    [[runners]]
      name = "code_quality"
      url = "http://192.168.0.2/"
      token = "pyKK8v9C6Bnay8yMmfph"
      executor = "docker"
      [runners.docker]
        tls_verify = false
        image = "docker:stable"
        privileged = true
        cache_dir = "cache"
        disable_entrypoint_overwrite = false
        oom_kill_disable = false
        disable_cache = false
        volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
        shm_size = 0
      [runners.cache]
        [runners.cache.s3]
        [runners.cache.gcs]

我的Gitlab版本是11.7

这是我的 .gitlab-ci.yml 文件:

 code_quality:
      tags: 
        - quality
      image: docker:latest
      variables:
        DOCKER_DRIVER: overlay2
      before_script:
      - ip -4 a
      allow_failure: true
      services:
        - name: docker:stable-dind
          command: ["--insecure-registry=192.168.0.1:5000"]
      script:
        - ip -4 a
        - docker pull 192.168.0.1:5000/codeclimate:0.72.0
        - docker tag 192.168.0.1:5000/codeclimate:0.72.0 codeclimate/codeclimate:0.72.0
        - docker pull 192.168.0.1:5000/codeclimate-coffeelint:latest
        - docker tag 192.168.0.1:5000/codeclimate-coffeelint:latest codeclimate/codeclimate-coffeelint:latest
        - docker pull 192.168.0.1:5000/codeclimate-csslint:latest
        - docker tag 192.168.0.1:5000/codeclimate-csslint:latest codeclimate/codeclimate-csslint:latest
        - docker pull 192.168.0.1:5000/codeclimate-eslint:latest
        - docker tag 192.168.0.1:5000/codeclimate-eslint:latest codeclimate/codeclimate-eslint:latest
        - docker pull 192.168.0.1:5000/codeclimate-rubocop:latest
        - docker tag 192.168.0.1:5000/codeclimate-rubocop:latest codeclimate/codeclimate-rubocop:latest
        - docker pull 192.168.0.1:5000/codeclimate-fixme:latest
        - docker tag 192.168.0.1:5000/codeclimate-fixme:latest codeclimate/codeclimate-fixme:latest
        - docker pull 192.168.0.1:5000/codeclimate-structure:latest
        - docker tag 192.168.0.1:5000/codeclimate-structure:latest codeclimate/codeclimate-structure:latest
        - docker pull 192.168.0.1:5000/codeclimate-duplication:latest
        - docker tag 192.168.0.1:5000/codeclimate-duplication:latest codeclimate/codeclimate-duplication:latest
        - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
        - docker images
        - docker run
            --env SOURCE_CODE="$PWD"
            --env CODECLIMATE_VERSION=0.72.0
            --env TIMEOUT_SECONDS=900
            --volume "$PWD":/code
            --volume /var/run/docker.sock:/var/run/docker.sock
            192.168.0.1:5000/codequality:latest /code
      artifacts:
        reports:
          codequality: gl-code-quality-report.json

由于我想提高提取映像的速度,所以我在本地主机中部署了一个Docker注册表。

能给我一些建议吗?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

但是,几个月后,如果您使用的是Gitlab CE,则该功能将仅适用于EE。