Skip to content

Instantly share code, notes, and snippets.

@sursir
Last active November 23, 2017 13:06
Show Gist options
  • Save sursir/8062959a932fb6577fc83d2f4525e9b1 to your computer and use it in GitHub Desktop.
Save sursir/8062959a932fb6577fc83d2f4525e9b1 to your computer and use it in GitHub Desktop.
docker gitlab-runner 出现的问题(主要为docker)
  1. docker 环境变量 PATH 用户变量不会被加载 所以需要在创建容器的时候 用 --change='ENV PATH ' 来更改path

  2. commit 创建新image的时候 注意 container 的启动命令,container 的启动命令会成为新镜像的CMD commit 时可以用`CMD ["php", "-a"] 去改变CMD

  3. docker-runner 启动镜像后 什么耶没处理 镜像自动退出导致错误: ERROR: Job failed (system failure): Error response from daemon: Cannot link to a non running container: /runner-6420c25d-project-9-concurrent-0-mysql-0 AS /runner-6420c25d-project-9-concurrent-0-build/mysql 此错误是因为镜像是以进程1启动的。所以启动完后会自动退出。用一个交互性指令或无限循环指令来将程序挂起就可以了。 ^ 与[2]关联

  4. gitlab-runner 默认会跳过本地自动从 docker up 拉取镜像,导致此错误 ERROR: Job failed: Error response from daemon: pull access denied for ci/ci, repository does not exist or may require 'docker login' 但我们需要的是一个本地镜像 在gitlab-runner配置中添加

pull_policy = "if-not-present"
  1. gitlab-runner 需要访问本地gitlab仓库 所以需要映射 host 在gitlab-runner配置中添加
extra_hosts = ["gitlab.hs.app:192.168.10.10"]
  1. gitlab-runner before-script 会在每个job前调用!

  2. 关于 gitlab-runner 与 docker-image 更多请看 https://docs.gitlab.com/ee/ci/docker/using_docker_images.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment