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
之后,你必须注册跑步者:
- docker工人作为执行者。
- 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