Doclabコンテナでgitlabインスタンスを実行しています。次に、同じホストでgitlab-runnerをセットアップします。両方が実行されています:
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
Dockerイメージを共有ランナーとして登録しました。
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]
登録されたイメージmaven-java-8
は、正しいsettings.xmlを持つカスタムイメージであり、にリストされていdocker images
ます。
しかし、それでもパイプラインは失敗します:
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
これは、gitlab-runnerコンテナー内のローカルイメージを使用しようとしていると解釈しています。
GitLabバージョンはgitlab-ce 9.2.7で、ランナーバージョンはv9.3.0です。
私の.gitlab-cy.ymlの内容は:
test:
script:
- mvn clean test
何が欠けていますか?