通过 BAMBOO 执行时 VAGRANT UP 不起作用

VAGRANT UP not working when executed via BAMBOO

我正在尝试与 Vagrant 和 Bamboo 一起工作。我创建了自定义框,我将其放在 Web 服务器上,在执行 vagrant up 时从中下载它。当我在计算机上手动执行时,一切都按预期进行。

然而,当我通过 Bamboo 尝试此操作时,c:\Windows\System32\config\systemprofile\.vagrant.d\boxes 中本地框的文件夹未创建,随后失败,因为 vagrant 无法导入。

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'http://127.0.0.1:8000/k.box'...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["import", "-n", "C:/Windows/System32/config/systemprofile/.vagrant.d/boxes/http-VAGRANTCOLON--VAGRANTSLASH--VAGRANTSLASH-127.0.0.1-VAGRANTCOLON-8000-VAGRANTSLASH-k.box/0/virtualbox/box.ovf"]

Stderr: 0%...

Progress state: VBOX_E_FILE_ERROR

VBoxManage.exe: error: Appliance read failed

VBoxManage.exe: error: Could not read OVF file 'box.ovf' (VERR_PATH_NOT_FOUND)

VBoxManage.exe: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component ApplianceWrap, interface IAppliance

VBoxManage.exe: error: Context: "enum RTEXITCODE __cdecl handleImportAppliance(struct HandlerArg *)" at line 307 of file VBoxManageAppliance.cpp

大家有遇到过类似的问题吗?

谢谢。

经过一番调查,我找到了原因。问题是默认情况下 .vagrant.d 文件夹是在 C:\Windows\SysWOW64\config\systemprofile 中创建的,而流浪者是通过 Bamboo 运行。这是下载后存储盒子的文件夹。 对于 SYSTEM 用户,PROFILEUSER 环境变量设置为 C:\Windows\System32\config\systemprofile。随后在下载盒子后,它会在 PROFILEUSER 文件夹内的 .vagrant.d 文件夹中寻找它,而不是真正存储盒子的文件夹。

此问题已通过将 VAGRANT_HOME 环境变量设置为 C:\Windows\SysWOW64\config\systemprofile\.vagrant.d 解决。在此之后,vagrant 会查看存储箱的正确文件夹。