Hello, you have several ways of doing this.
If I understand your question, I think the answer goes like this:
- You start with a base box. Can be minimal box, or a box with some
packages you know you will use
- You can include the scripts in the project, or you can tell Vagrant
to run those scripts from an url.
By default, provisioning scripts will run once, on the initial vagrant up.
This is what most of the implementation looks like, however, if you
end using this same project over and over, and some of the process
take time, you can move those repeitive slow task to the base box, and
that will make the vagrant up faster.
One key point here is make your script idempotent, that is you can run
them twice and they won't break anything on the second time.
In that way, you can create a packer template, and run those
provisioning steps. then vagrant will run the same script ( or a
simplified version) and will skip those parts if already there.
Example, imagine you want to install some commands, like nginx and htop
which nginx htop
if [ $? -ne 0 ]; then
sudo apt-get update
sudo apt-get install -y nginx htop
fi
If you run that 2 times, only will do apt-get if those packages aren't
installed. 2nd time will be faster
Hope this make sense, and I have answered your question.
If I havent, can you explain a bit more?
Thanks
Alvaro
> --
> This mailing list is governed under the HashiCorp Community Guidelines -
>
https://www.hashicorp.com/community-guidelines.html. Behavior in violation
> of those guidelines may result in your removal from this mailing list.
>
> GitHub Issues:
https://github.com/mitchellh/vagrant/issues
> IRC: #vagrant on Freenode
> ---
> 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
vagrant-up+...@googlegroups.com.
> To view this discussion on the web visit
>
https://groups.google.com/d/msgid/vagrant-up/8d67cf14-b235-4186-87f7-a513d9b3502e%40googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.