GitLab CI
关于 gitlib ci 的介绍和基础知识 参考 用 GitLab CI 进行持续集成

注册 runner 后,gitlab runner 出现灰色感叹号
在服务器注册完 runner 后,在 gitlab 的 runner 处出现灰色感叹号,并提示 new runner has not connected yet。这个问题一般都是权限问题造成的,加 sudo 和不加 sudo 所创建的配置文件不同。在使用 gitlab-runner register 注册的时候,加上 sudo,在启动 runner 时也要加上 sudo , sudo gitlab-runner restart 或sudo gitlab-runner start。

无法删除 runner
在使用 gitlab-runner unregister 删除 runner 时,提示 Error: unregistering runner from gitlab forbidden。使用 gitlab-runner verify 检测 runner 是否已连接至 gitlab ,然后gitlab-runner verify --delete在注册列表中删除它们。

gitlab-runner list 不显示注册的 runner
使用 sudo 权限注册的 runner 要使用sudo gitlab-runner list查看。

构建时提示 mkdir: cannot create directop ‘/home/gitlab-runner/builds/xxxxx’: Permission denied
用户 gitlab-runner 没有构建目录的权限,加上权限即可,或切换至 root 用户,给该文件夹上权限。

构建时的环境变量问题
如在构建的时候,提示bash: npm: command not found,此时可以去服务器上给bash加上环境变量,或者在before_script阶段加上环境变量,例如:

before_script:
  - export PATH=/home/souche/n/bin:$PATH

下一个 Stages 无法使用上一个 Stages 生成的文件
这是因为在进行一个新的 Stages 时,会把上一个 Stages 所产生的文件删除掉,解决方案就是使用缓存 cache,如:

cache:
  key: '$CI_COMMIT_REF_NAME'
  paths:
    - .nuxt

构建时在 Getting source from Git repository 阶段出现错误提示 error: failed to write new configuration file /home/gitlab-runner/builds/xxxx/0/xxxx/xxxx.tmp/git-template/config.lock
出现这个提示,请检查服务器磁盘是不是已经满了,请释放些磁盘空间
image-1662631894797

#注:查看当前目录各文件夹大小
du -h --max-depth=1
#查看指定目录各文件夹大小
du -h --max-depth=1 /home
#查到目录文件占用很大,但是找不到具体文件夹,可以在该目录下执行ls .
#会把隐藏的文件显示出来

构建过程出现 fatal: git fetch-pack: expected shallow list fatal: The remote end hung up unexpectedly
image-1662631914510
这是因为服务器 git 版本太低,不支持新的 api,去服务器升级一下 git 版本
转自:https://blog.csdn.net/edgar_t/article/details/113980215

上一篇 下一篇