错误:准备失败:getwd:getwd:没有这样的文件或目录

时间:2019-08-02 14:56:30

标签: gitlab-ci-runner

Gitlab运行程序抛出错误:准备失败:Getwd:getwd:没有这样的文件或目录?

gitlab版本是:GitLab社区版8.6.4 gitlab-runner版本:1.11.5

我的CI经常抛出$pos, 但有时我们承诺工作正常。因此,我们不知道导致此问题的最终原因是什么。

我们只知道移动构建目录后该错误显示的一件事。

2 个答案:

答案 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) 但它不再存在,因此出现错误。

>

鉴于上述情况,当该目录也不存在时,我无法解释为什么跑步者第一次工作,但希望我的回答至少可以提示对某人有用的东西! :)