我正在使用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。
答案 0 :(得分:1)
尝试将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
答案 1 :(得分:0)
尝试使用
--docker-privileged \
--docker-volumes /var/run/docker.sock:/var/run/docker.sock \
--docker-volumes /home/gitlab-runner/docker-cache \
设置了跑步者
您可以在设置赛跑者的服务器上签入/etc/gitlab-runner/config.toml