Thanks Chris,  

On Friday, June 5, 2015 at 3:46:40 PM UTC-7, Chris Baldauf wrote:
>
> Alternatively, you can use the named provisioners feature as documented 
> here: http://docs.vagrantup.com/v2/provisioning/basic_usage.html
>
> A minimally viable example might look something like this:
>
> # Vagrantfile
> Vagrant.configure(2) do |config|
>   config.vm.box = "ubuntu/trusty64"
>
>   config.vm.provision "provisioner1", type: "shell", inline: "echo one"
>   config.vm.provision "provisioner2", type: "shell", inline: "echo two"
>   config.vm.provision "provisioner3", type: "shell", inline: "echo three"
> end
>
> $ vagrant up
> ...
> ==> default: Running provisioner: provisier1 (shell)...
>     default: Running: inline script
> ==> default: one
> ==> default: Running provisioner: provisier2 (shell)...
>     default: Running: inline script
> ==> default: two
> ==> default: Running provisioner: provisier3 (shell)...
>     default: Running: inline script
> ==> default: three
> ...
> $ vagrant provision --provision-with provisioner2
> ==> default: Running provisioner: provisioner2 (shell)...
>     default: Running: inline script
> ==> default: stdin: is not a tty
> ==> default: two
>
>
> -Chris
>
> On Fri, Jun 5, 2015 at 5:08 PM, Jamie Jackson <[email protected] 
> <javascript:>> wrote:
>
>> For provisioners I don't want to run more than once, I leave a "bookmark" 
>> file behind.
>>
>>
>> For what it's worth, here's some boilerplate (I ripped out of my Lucee 
>> installer):
>>
>> #!/usr/bin/env bash
>> set -e
>>
>> description="Lucee installation"
>> runfile_name="lucee_install"
>>
>> while :
>> do
>>     case $1 in
>>         --provisioned-dir=*)
>>             provisioned_dir=${1#*=}        # Delete everything up till "="
>>             shift
>>             ;;
>>         # ...other option blocks
>>         --) # End of all options
>>             shift
>>             break
>>             ;;
>>         -*)
>>             echo "WARN: Unknown option (ignored): $1" >&2
>>             shift
>>             ;;
>>         *)  # no more options. Stop while loop
>>             break
>>             ;;
>>     esac
>> done
>>
>> runfile="${provisioned_dir}/${runfile_name}"
>>
>> if [ -f "${runfile}" ]; then
>>   echo "${description}: Already run."
>>   exit 0
>> fi
>>
>> # do a bunch of stuff
>>
>> touch "${runfile}" || true
>>
>> I then call it with the following in my Vagrantfile:
>>
>>   # Install Lucee
>>   config.vm.provision :shell, :path => 
>> "#{host_script_dir}/web/lucee_install.sh", :args => [
>>     "--provisioned-dir=#{vm_provisioned_dir}",
>>     "--lucee-installer-path-name=#{lucee_installer_path_name}",
>>     "--lucee-installer-download-url=#{lucee_installer_download_url}",
>>     "--lucee-password=#{password}",
>>     "--lucee-user=#{railo_user}"
>>   ]
>>
>> Where:
>>
>> host_script_dir = "C:/www/myproj_vagrant/scripts"
>> vm_provisioned_dir = "/vagrant/temp/provisioned"
>>
>>
>> Then, I've got a trigger to get rid of the bookmarks upon destroy:
>>
>>   config.trigger.after :destroy, :stdout => true, :force => true do
>>     info "Removing provisioned directory contents: 
>> #{host_provisioned_dir}/*"
>>     FileUtils.rm_rf Dir.glob("#{host_provisioned_dir}/*")
>>   end
>>
>>
>> Where:
>>
>> host_provisioned_dir = "C:/www/myproj/temp\provisioned"
>>
>>
>> Thanks,
>> Jamie
>>
>> On Fri, Jun 5, 2015 at 12:24 PM, <[email protected] <javascript:>> wrote:
>>
>>> Hello,
>>>
>>> I have these three Shell provisioners in my Vagrantfile. 
>>> After 'vagrant up' the first time, I like to run just the second Shell 
>>> provisioner script "script2.sh".
>>> I can only run the provision by type "vagrant provision --provision-with 
>>> shell", which run all the shell scripts.
>>>
>>> guest.vm.provision "shell" do |sh|
>>>       sh.path = "./script1.sh"
>>> end
>>>
>>> guest.vm.provision "shell" do |sh|
>>>       sh.path = "./script2.sh"
>>>       sh.args = "centos"
>>> end
>>>
>>> guest.vm.provision "shell" do |sh|
>>>       sh.path = "./script3.sh"
>>> end
>>>
>>> Any ideas?
>>> Thanks
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Vagrant" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Vagrant" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to