如何创建 jenkins 作业以对虚拟映像执行 VBoxManage 操作



我想设置一个 jenkins 作业,例如克隆一个虚拟映像。(工作)命令行是例如

"C:Program FilesOracleVirtualBoxVBoxManage.exe" clonevm UbuntuTest --name TestNeu --register

但是,在 jenkins 中执行的与窗口批处理脚本相同的命令行不起作用,它会给出错误

VBoxManage.exe: error: Could not find a registered machine named 'UbuntuTest'
VBoxManage.exe: error: Details: code VBOX_E_OBJECT_NOT_FOUND (0x80bb0001), component VirtualBox, interface IVirtualBox, callee IUnknown
VBoxManage.exe: error: Context: "FindMachine(Bstr(pszSrcName).raw(), srcMachine.asOutParam())" at line 434 of file VBoxManageMisc.cpp

我只能假设这个 jenkins 脚本以不同的用户身份运行,并且不知道位于 C:UsersalexVirtualBox VMs 中的可用图像。

如何解决这个问题?

补遗:

  • 以其他用户身份运行它似乎不起作用或不可能:链接

您需要定义 Jenkins 从进程以所需的用户身份运行。首先将 Jenkins slave 安装为 Windows 服务,然后转到服务属性,然后在"登录"选项卡中将其从默认的"本地系统帐户"更改为"此帐户:" - 输入您的帐户名(alex)和密码。不要忘记重新启动服务。

最新更新