1

ボックスをプロビジョニングまたはアップする単純なスクリプト (Windows .bat) を作成する必要があります。

.bat ファイルの経験はあまりないので、これは私がこれまでに持っているものです:

Greg Hewgill のおかげで編集

cd C:\vagrant-box\

call vagrant-up.bat

if errorlevel 1 call vagrant-provision.bat

callスクリプトで編集された.bat ファイルには、それぞれvagrant upとという 1 行だけが含まれていvagrant reloadます。

vagrant ボックスがダウンすると、vagrant up が正常に実行されます。起動すると、vagrant up でエラーが発生しますが (これが予想されます)、バッチ ファイル全体がそこで停止します。ErrorLevel何もしないようです。


違いがある場合のエラーは次のとおりです

Bringing machine 'default' up with 'virtualbox' provider...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["list", "hostonlyifs"]

Stderr: VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extend)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

エラー自体は気にしないことを強調したいと思います。ボックスが動いていない時に動くので問題ありません。キャプチャまたは無視して、次のコマンドに移動したいだけです。

4

2 に答える 2

2

vagrant upマシンがすでに実行されている場合でも、コード 0 で終了します。

ただし、終了コードを気にする必要はありません。実行するだけです。

vagrant provision && vagrant up

そして、両方のケースをカバーする必要があります。ゲストが実行vagrant provisionされていない場合、正常に失敗してvagrant up成功し、その逆も同様です。

于 2013-08-08T13:25:54.977 に答える