GitLab-CI多跑步者启动docker集装箱

我还是不太了解gitlab-ci multi runner启动docker的过程,并与代码进行交互。

是否有可能让一个gitlab-ci多运行器启动一个docker容器,该docker容器包含在这个docker容器中的当前代码,然后对这个代码运行testing? (例如:代码linting)

我基本上想要一个有各种棉绒的docker集装箱。 GitLab-CI多运行程序应运行在主机系统上并按需启动Docker容器。 在Docker容器中,代码应该以phpcs为例进行检查。

如何将回购码存入docker集装箱?

谢谢您的帮助

首先,gitlab-runner需要按照文档中的描述安装Docker套接字:

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

之后,你必须注册跑步者:

  1. docker工人作为执行者。
  2. Docker镜像与 Docker镜像。

每个docker client都会将这些命令转发到docker daemon ,docker守护进程会监听本地端口,例如http,tcp或者unix socket。

当你像这样启动容器时:

docker run -d –name gitlab-runner –restart always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v / srv / gitlab-runner / config:/ etc / gitlab -runner \ gitlab / gitlab-runner:latest

所有docker命令都会转发给主机,因为unix:///var/run/docker.sock正在监听unix:///var/run/docker.sock

PS:你需要在gitlab-runner容器中安装gitlab-runner