I’m trying to create a Docker image for my build environment, and run a build locally by using gitlab-runner exec
. Could someone please clarify for a n00b what concept I’ve gotten wrong?
My Docker image, named hughw/factordev:latest
, is base Ubuntu 16.04, plus some libraries my build requires. The gitlab-runner successfully pulls that image, but then it seems that it does not attempt to execute the commands in my .gitlab-ci.yml
on that image, but on the gitlab/gitlab-runner-helper
image. So: is my expectation wrong? n00b here. I thought gitlab-runner would execute the make
command on my image.
I am running this on macOS using the latest gitlab-runner and docker executables.
Here is a transcript of my attempt:
$ sudo gitlab-runner exec docker factor
WARNING: Since GitLab Runner 10.0 this command is marked as DEPRECATED and will be removed in one of upcoming releases
Running with gitlab-runner 10.1.0 (c1ecf97f)
on ()
Using Docker executor with image hughw/factordev:latest ...
Using docker image sha256:a985c2d6958f9c6d0ae5a602ed006eecb383ca03e6fee13b4fa77075cc77e093 for predefined container...
Pulling docker image hughw/factordev:latest ...
Using docker image hughw/factordev:latest ID=sha256:3e3afaae764147fc4bf189f46744e2f85151499499b004274475cb9f4c51565a for build container...
Running on runner--project-0-concurrent-0 via hwmb4...
Cloning repository...
Cloning into '/builds/project-0'...
done.
Checking out f72f98c3 as master...
Skipping Git submodules setup
$ uname -a
Linux runner--project-0-concurrent-0 4.9.49-moby #1 SMP Wed Sep 27 23:17:17 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ pwd
/builds/project-0
$ make test-release-omp
/bin/bash: line 26: make: command not found
Running after script...
ERROR: Job failed: exit code 1
FATAL: exit code 1
My complete .gitlab-ci.yml:
image: hughw/factordev:latest
before_script:
- uname -a
- pwd
factor:
script:
- make test-release-omp
My gitlab config.toml (something could be wrong in my set up, because gitlab-runner seemed to ignore the pull_policy… I had to push my image to Dockerhub before gitlab-runner would find it, despite my “never” setting).
$ sudo cat /etc/gitlab-runner/config.toml
concurrent = 1
check_interval = 0
[[runners]]
name = "hwmb4"
url = "https://gitlab.com"
token = "{elided}"
executor = "docker"
[runners.docker]
tls_verify = false
image = "hughw/factordev:latest"
privileged = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
pull_policy = "never"
[runners.cache]
Finally, here is the output of docker images
:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gitlab/gitlab-runner-helper x86_64-c1ecf97f a985c2d6958f 15 hours ago 43.8MB
hughw/factordev latest 3e3afaae7641 18 hours ago 1.49GB
ubuntu 16.04 747cb2d60bbe 2 weeks ago 122MB
Thanks in advance if anyone can point out my error.
[Edited to fix error in image attribute in config.toml, that still had no effect on the outcome]