我正在使用gitlab ci进行持续集成,我想对我的代码运行单元测试,然后构建一个docker镜像然后进行部署。但我面临的问题是如何在gilab ci中运行docker服务。
我收到这个错误
"Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running"
在我的docker build命令运行之后。我需要在gitlab-ci中安装docker吗?
这是我的.gitlab-ci.yml文件
image: node:latest
before_script:
stages:
- test
- production
- clean_up
services:
- docker:dind
test:
stage: test
script:
- npm install
- npm install -g swagger
- npm test
production:
type: deploy
stage: production
image: docker:latest
script:
- docker build -t testimage -t testimage:latest .
- docker tag testimage docker.abc.xyz.com/testimage
- docker push docker.abc.xyz.com/testimage
only:
- development
clean_up_job:
stage: clean_up
script:
- rm -rf node_modules
- npm uninstall -g swagger
when: on_failure
我目前没有使用GitLab Runner。
尝试将services
放入production
工作中,如下所示:
production:
type: deploy
stage: production
image: docker:latest
services:
- docker:dind
script:
- docker build -t testimage -t testimage:latest .
- docker tag testimage docker.abc.xyz.com/testimage
- docker push docker.abc.xyz.com/testimage
only:
- development
试着用
--docker-privileged \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-volumes /home/gitlab-runner/docker-cache \
设置跑步者
您可以在设置跑步者的服务器上查看/etc/gitlab-runner/config.toml