Nel mio Vagrantfile, ho un provisioner in questo modo:In Vagrant, posso impostare un provisioner affinché venga eseguito solo manualmente?
config.vm.provision "reset", type: "shell", run: "always" do |s|
s.privileged = false
s.inline = "bash /path/to/my/reset/script.sh"
end
E quando normalmente provisioning vagabondo, funziona benissimo. Ma quello che vorrei fare è impostare un provisioner che funzioni solo quando lo chiamo manualmente. Quindi, se dovessi avere il seguente provisioner:
config.vm.provision "otherScript", type: "shell", run: "manual" do |s|
s.privileged = false
s.inline = "bash /path/to/my/other/script.sh"
end
Vorrei correre con vagrant provision --provision-with otherScript
. Posso già farlo con altri fornitori. Ma non riesco a trovare un modo per farlo in modo che quando faccio cose come vagrant provision
salta qualsiasi con un'impostazione di esecuzione di manual
. Non riesco a trovare nulla nei documenti ad esso correlati tranne che posso usare "sempre".
Ho preso in considerazione l'utilizzo di qualcosa come fabric o invoke (python 3), ma poi avrei dovuto configurarlo su tutti i computer del mio team. Che posso impostare con uno script, ma ho pensato che potrebbe essere più semplice se possibile.
C'è un modo per realizzare questo? Per configurare un provisioner che viene eseguito sempre solo quando viene chiamato manualmente?
Il gestore di shell sembra supportare solo due modalità di esecuzione: una volta (impostazione predefinita) o sempre, quindi penso che la risposta alla domanda inviata sia "no, non possibile". Che cosa stai cercando di ottenere con questo? Potrebbero esserci alcune soluzioni alternative per ottenere lo stesso risultato. – BrianC
Sono d'accordo con @BrianC, se ne hai assolutamente bisogno, esegui solo manualmente cosa c'è di sbagliato con un SSH nella scatola e poi esegui lo script? – ydaetskcoR
Sì, questo è quello che stavo pensando era il caso. Non sono riuscito a trovare altra documentazione su di esso. Sto già scrivendo uno script ssh per eseguire i miei script. Grazie. – skift