Gitlab运行程序抛出错误:准备失败:Getwd:getwd:没有这样的文件或目录?
gitlab版本是:GitLab社区版8.6.4 gitlab-runner版本:1.11.5
我的CI经常抛出$pos
,
但有时我们承诺工作正常。因此,我们不知道导致此问题的最终原因是什么。
我们只知道移动构建目录后该错误显示的一件事。
答案 0 :(得分:1)
在我的情况下,这是因为仍在执行残留的gitlab-runner进程。我通过识别有罪的小伙子解决了这个问题,然后杀死了他们:
$ ps -ax | grep gitlab-runner
27034 ? Ssl 0:06 /usr/bin/gitlab-runner run --working-directory /home/gitlab-runner --config /etc/gitlab-runner/config.toml --service gitlab-runner --syslog --user gitlab-runner
$ sudo kill -9 27034
答案 1 :(得分:0)
Gitlab Runner 将您的存储库副本检出到 CI_PROJECT_DIR
。您可以通过将以下内容添加到您的 .gitlab-ci.yml
中来检查其值:
script:
- echo $CI_PROJECT_DIR
我收到“getwd:没有这样的文件或目录”错误,因为:
/var/www/mysite
(我正在使用一个 docker 容器,其中安装了 gitlab-runner,但我认为这无关紧要)/var/www/mysite
移至 /var/www/old-mysite
。我已经习惯了 Gitlab Runner 在 /home/gitlab-runner/build
中检查它的构建。当我更改 docker 工作目录时,这导致运行程序在 /var/www/mysite/build
处检查它。
在我的脚本将 /var/www/mysite
移动到 /var/www/old-mysite
之后,在第二次和后续运行中,gitlab 运行程序仍然希望找到 (/var/www/mysite
) 但它不再存在,因此出现错误。
鉴于上述情况,当该目录也不存在时,我无法解释为什么跑步者第一次工作,但希望我的回答至少可以提示对某人有用的东西! :)