Je dois créer un script simple (Windows .bat) qui va provisionner ou monter une boîte.Vagrant Up ou Provision si déjà Up
pas beaucoup d'expérience avec les fichiers .bat, c'est donc ce que j'ai jusqu'à présent:
Edité grâce à Greg Hewgill
cd C:\vagrant-box\
call vagrant-up.bat
if errorlevel 1 call vagrant-provision.bat
Les fichiers .bat call
ed dans le script contient tout simplement une ligne: vagrant up
et vagrant reload
, respectivement.
Lorsque la zone de vagabondage est en panne, alors le vagabondage s'exécute avec succès. Lorsque je me lève, je rencontre une erreur avec le vagabondage (que j'attends) mais le fichier batch entier meurt là. ErrorLevel
ne semble pas faire quoi que ce soit.
Voici l'erreur si cela fait une différence
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.
Je veux souligner Je ne me soucie pas de l'erreur en soi. Cela fonctionne quand la boîte ne fonctionne pas, donc c'est bon. Je veux juste capturer ou ignorer, et passer à la commande suivante. Quitte
J'ai supprimé ma réponse car elle ne répond plus à votre question éditée, et de toute façon elle n'a pas résolu votre problème. –
pourquoi avez-vous besoin de l'appeler? Qu'est-ce qui ne va pas avec la commande 'start' – Monacraft
@GregHewgill Eh bien merci, c'était utile si ce n'est pas exactement une * réponse *. Le jist était: "si errorlevel 0" évalue à "true" si le "errorlevel" est * supérieur ou égal à 0 *, alors changez-le en "if errorlevel 1". – willoller