运行Gitlab CI Runner以在shell执行模式下构建docker

时间:2018-06-05 09:29:50

标签: docker gitlab gitlab-ci gitlab-ci-runner

我有一个带有以下配置的跑步者

[[runners]]
  name = "my-runner-02"
  url = "https://ci.gitlab.com/"
  token = TOKEN
  executor = "shell"
  [runners.cache]

我尝试让它通过shell执行运行一个简单的docker构建脚本。我在机器上安装了docker引擎。我的gitlab-ci.yml文件如下所示:

before_script:
  - sudo docker info

build_image:
  script:
    - sudo docker build -t booking-app .
    - sudo docker run -d -p 7771:7771 booking-app

我收到以下错误:

Running with gitlab-runner 10.8.0 (079aad9e)
  on my-runner-02 aa596928
Using Shell executor...
No passwd entry for user 'gitlab-working-directory=/home/gitlab-runnerrunner'
ERROR: Job failed: exit status 1

所以这是用户gitlab-runner的问题吗?我不知道如何处理passwd条目,gitlab-working-directory或任何用户权限。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用' sudo docker'调用docker。我很确定它要求输入' sudo'。

的密码

你可以删除所有' sudo'。我认为他们是问题。

另外

  1. 将执行者从shell更改为docker
  2. 确保绑定/var/run/docker.sock