2017-09-26 7 views
0

Je dois fournir un fichier vagabond autonome qui vérifie (sur recharger ou créer) si un morceau de logiciel est déjà installé et l'installe quand ce n'est pas le cas. Je ne suis pas sûr de savoir comment aborder ou écrire que dans le fichier vagabond est-il une ligne simple qui pourrait accomplir cela? Si non, quelle est l'autre approche relativement simple avec des outils de gestion de la configuration comme la marionnette ou le chef? D'une manière générale quelle approche est la plus efficace/simple,Vagrantfile comment vérifier si installé et installé finalement?

Répondre

0

Utilisez un shell provisioner (par exemple dans une boîte de base debian):

Vagrant.configure("2") do |config| 
    config.vm.provision 'foo', 
    type: :shell, 
    inline: 'which foo &> /dev/null || apt-get install foo' 
end 

Ceci est idempotente parce que, la première fois which renverra false donc foo sera installer, mais à tout autre moment (tant que l'instance n'est pas détruite) which renverra true et rien ne se passera.

Le nom de approvisionneur foo peut être utilisé avec l'option --provision-with:

vagrant provision --provision-with foo 

Note: Cette option peut également être utilisé avec les commandes errante up et reload.