Installation du container docker

docker run -d --name gitlab-runner-config \
    -v /etc/gitlab-runner \
    busybox:latest \
    /bin/true

docker run -d --name gitlab-runner --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --volumes-from gitlab-runner-config \
    gitlab/gitlab-runner:latest

Une fois ceci fait, il faut enregistrer le runner

pour cela allez dans la pace ci/cd de votre projet gitlab, exemple pour moi :

http://death.maison.local/gitlab/pvalois/menu/-/settings/ci_cd

la dans la partie runner, vous avez un token de connexion.

exécutez :

docker exec -t -i gitlab/gitlab-runner bash
gitlab-runner register

et répondez aux question. Pour l'instant, j'ai repondu comme suit :

Runtime platform                                    arch=amd64 os=linux pid=6 revision=577f813d version=12.5.0
Running in system-mode.                            
                                                   
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):

http://death.maison.local/gitlab/

Please enter the gitlab-ci token for this runner:

LfFNGi6eHry7nSMcZUL3

Please enter the gitlab-ci description for this runner:
[9b9d8d60086e]: 

docker-runner 9b9d

Please enter the gitlab-ci tags for this runner (comma separated):

docker

Registering runner... succeeded                     runner=LfFNGi6e

sur ces deux lignes, je n'ai rien répondu, rien de précis ne m'étant venu à l'idée, mais de toute façon ici, ce n'est pas obligatoire, c'est pour retrouver ses billes :)

Please enter the executor: custom, docker, docker-ssh, parallels, shell, ssh, docker+machine, kubernetes, virtualbox, docker-ssh+machine:

docker

Please enter the default Docker image (e.g. ruby:2.6):

ruby:2.6

Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 

Pour la réponse "docker" c'est logique. Gitlab-ci pourra lancer un nouveau container à chaque fois qu'il veut tester un build, et le détruira ensuite. c'est un comportement classique en ci/cd.

Pour la réponse "ruby:2.6", j'ai laissé simplement le défaut suggéré, je n'ai pas choisi encore quelle image type je voudrais utiliser.

Il suffit maintenant dans notre .gitlab-ci.yaml de spécifier pour un job :

tag: 
   - docker

et notre runner sera apparié au job.

Tout ça pour dire que mon test a réussi et que donc je peux passer à la suite !