Continuous integration VirtualBox executer因“;准备环境:流程退出,状态为1”;

Continuous integration VirtualBox executer因“;准备环境:流程退出,状态为1”;,continuous-integration,gitlab,virtualbox,gitlab-ci,gitlab-ci-runner,Continuous Integration,Gitlab,Virtualbox,Gitlab Ci,Gitlab Ci Runner,我使用gitlab runner register并选择VirtualBox作为执行者来注册VirtualBox CI runner 但是,如果我在Gitlab中启动runner管道,它将失败,并出现以下错误: 什么会导致此错误以及如何修复它 以下是错误消息中提到的链接: 注:我使用的是macOS 10.15.5,VirtualBox运行的是Ubuntu20.04 LTS。文档中提到: 对于某些执行器,运行程序将传递如上所示的--login标志,该标志也将加载shell配置文件。 .bashr

我使用
gitlab runner register
并选择
VirtualBox
作为执行者来注册VirtualBox CI runner

但是,如果我在Gitlab中启动runner管道,它将失败,并出现以下错误:

什么会导致此错误以及如何修复它

以下是错误消息中提到的链接:


注:我使用的是macOS 10.15.5,VirtualBox运行的是Ubuntu20.04 LTS。

文档中提到:

对于某些执行器,运行程序将传递如上所示的
--login
标志,该标志也将加载shell配置文件。
.bashrc
.bash\u注销
或任何其他点文件中的任何内容都将在作业中执行

如果作业在“准备环境”阶段失败,则可能是shell概要文件中的某些内容导致了失败。常见的故障是当您有一个试图清除控制台的
.bash\u注销

因此,首先检查您的
.bashrc
.bash\u注销
,或虚拟机
$HOME
帐户中的任何其他点文件的内容

步骤标记为“系统故障”这一事实意味着您正在使用GitLab 13.1(2020年6月),根据

将此标记为系统故障将使客户更加清楚 用户发现问题出在Runner环境中,我们添加了一个链接 这些文档使他们更容易理解 可能正在进行

同一个MR很好地说明了问题可能是什么:

最简单的测试方法是使用

  • 更新bash配置文件以退出,但出现错误:

    echo "exit 1" > ~/.bash_logout
    
  • 使用
    exit 1
    命令,以拥有
    .bash\u logut
    的用户身份运行
    gitlab runner

  • 如果您想在
    主机
    分支中查看错误,请确保您有一个空的/builds目录,以便您可以查看错误:
    cd在
    主机
    上没有这样的文件或目录
    错误

  • 再次:如果在您的
    .bashrc
    /
    .bash\u注销
    ,或VM机器
    $HOME
    帐户中的任何其他点文件上,有一个命令失败(状态错误!=0),将触发该错误消息