Ich habe eine Gitlab-Instanz, die in einem Docker-Container ausgeführt wird. Jetzt möchte ich Gitlab-Runner auf demselben Host einrichten. Beide laufen:
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
279473dceb2f gitlab/gitlab-runner:alpine "/usr/bin/dumb-ini..." About a minute ago Up About a minute gitlab-runner
6d7af0d6b946 gitlab/gitlab-ce:latest "/assets/wrapper" 2 hours ago Up 2 hours (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8022->22/tcp gitlab
Ich habe ein Docker-Image als freigegebenen Läufer registriert:
concurrent = 1
check_interval = 0
[[runners]]
name = "default shared maven runner"
url = "http://url-of-my-gitlab.instance"
token = "valid token"
executor = "docker"
[runners.docker]
pull_policy = "never"
tls_verify = false
image = "maven-java-8:latest"
privileged = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
[runners.cache]
Das registrierte Bild maven-java-8
ist ein benutzerdefiniertes Bild mit der richtigen settings.xml und wird in aufgelistet docker images
.
Trotzdem versagt die Pipeline mit:
Running with gitlab-ci-multi-runner 9.3.0 (3df822b)
on Maven Test (5b2573e4)
Using Docker executor with image maven-java-8 ...
Using docker image sha256:c266311d78b33f89f6eecce00f19a0428e37ba6af6734c8fced32fa11e4bd4ba for predefined container...
Pulling docker image maven-java-8 ...
ERROR: Job failed: Error response from daemon: repository maven-java-8 not found: does not exist or no pull access
Was ich so interpretiere, als würde es versuchen, die lokalen Bilder im Gitlab-Runner-Container zu verwenden.
Die GitLab-Version ist gitlab-ce 9.2.7 und die Runner-Version ist v9.3.0.
Der Inhalt meiner .gitlab-cy.yml ist:
test:
script:
- mvn clean test
Was vermisse ich?