首页 > 解决方案 > gitlab-runner 错误:准备失败:VBoxManageOutput 错误:VBoxManage:错误:找不到名为的注册机器

问题描述

我想将 gitlab-runner virtualbox executor 与简单的 debian 框一起使用,所以我的vagrant 文件

Vagrant.configure("2") do |config|
 config.vm.box = "debian/buster64"
end

第一种方法

  1. vagrant up
  2. 更改名称:设置->常规->名称“my-vm”
  3. 关闭虚拟机
  4. sudo gitlab-runner register...一些手动命令...
  5. sudo gitlab-runner install --user $(whoami)
  6. sudo gitlab-runner start

我可以在我的 Gitlab 设置 CI 中看到我的跑步者。它是绿色的。然后我运行我的工作,我遇到了以下问题:ERROR: Preparation failed: VBoxManageOutput error: VBoxManage: error: Could not find a registered machine named my-vm 在我的控制台中

VBoxManage list vms
"my-vm" {aaf0b3ff-3c5b-4324-9b2f-034d26036278}

第二种方法(从头开始)

  1. vagrant up
  2. 更改名称:设置->常规->名称“my-vm”
  3. 关闭虚拟机
  4. gitlab-runner register...一些手动命令...
    WARNING: Running in user-mode.                     
    WARNING: The user-mode requires you to manually start builds processing: 
    WARNING: $ gitlab-runner run                       
    WARNING: Use sudo for system-mode:                 
    WARNING: $ sudo gitlab-runner... 
    
  5. sudo gitlab-runner install --user $(whoami)
  6. sudo gitlab-runner start
  7. gitlab-runner run

第二种方法解决了这个问题:我的跑步者可以看到盒子,一切都按预期工作,但出现了新的:

我不想gitlab-runner run每次要运行作业时都执行。我更喜欢第一种方法,但是当我的跑步者找不到盒子时我遇到了问题。

我可以使用sudo vagrant up然后通过sudo VBoxManage 方式更改名称,它会起作用,但它看起来更像是一种解决方法。

我找不到任何示例或解释如何解决我的问题。人们如何在良好实践领域做到这一点?

标签: gitlabvagrantvirtualboxgitlab-cigitlab-ci-runner

解决方案


推荐阅读