Published
-
CodeClimate in GitLab CI
Recently I tried pulling code climate into GitLab CE’s CI. This became slightly problematic since docker-in-docker wasn’t working properly. I installed it according to the site directions, but the config didn’t work. After about a day of tinkering, configuring it this way appears to work pretty well.
.gitlab-vi.yml
codeclimate:
image: docker:latest
variables:
DOCKER_DRIVER: overlay
services:
- docker:dind
script:
- docker pull codeclimate/codeclimate
- VOLUME_PATH=/tmp/builds"$(echo $PWD | sed 's|^/[^/]*||')"
- docker run -v /tmp/cc:/tmp/cc -v $VOLUME_PATH:/code -v /var/run/docker.sock:/var/run/docker.sock codeclimate/codeclimate validate-config
- ls -lash $PWD
- echo $PWD
- docker run --env CODECLIMATE_CODE="$VOLUME_PATH" -v /tmp/cc:/tmp/cc -v $VOLUME_PATH:/code -v /var/run/docker.sock:/var/run/docker.sock codeclimate/codeclimate analyze
artifacts:
paths: [codeclimate.json]%
/etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
[[runners]]
name = "gitlabrunner-01"
url = "https://gitlab.gqdn/"
token = "token"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:latest"
privileged = true
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
[[runners]]
name = "Ubuntu 16.04 Runner 01"
url = "https://gitlab.fqdn/"
token = "token"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:latest"
privileged = true
disable_cache = false
cache_dir = "cache"
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock", "/tmp/builds:/builds"]
shm_size = 0
[runners.cache]
Photo by Pankaj Patel on Unsplash