Additional software can be installed via git
by using the folders
parameter of a site. This lets you specify a subfolder, and clone a git repository into it. VVV can also keep that repository up to date. This feature requires VVV 3.5.1 or higher.
For example, here is a WP VIP site, with a platform plugin cloned into place and updated, and a custom wp-content
folder:
vip:
repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.git
hosts:
- vip.test
folders:
public_html/wp-content/:
git:
repo: https://github.com/Automattic/vip-go-skeleton.git
overwrite_on_clone: true
public_html/wp-content/mu-plugins:
git:
repo: https://github.com/Automattic/vip-go-mu-plugins.git
overwrite_on_clone: true
hard_reset: true
pull: true
Each sub-key is a path relative to the sites location. The git
parameter takes the following keys:
repo:
A valid git URI to clone. VVV will not update a repository if you change this valueoverwrite_on_clone:
true or false, if the target folder already exists and is not a git repo, should VVV delete it and clone? If false, VVV will stop provisioning if the target already existspull:
true or false, should VVV rungit pull
on provision?hard_reset:
true or false, should VVV discard all changes in the git repository on reprovision?
Each subfolder is processed in the order defined in the config file. This happens after the sites provisioner script runs, but before the Nginx config file is installed. Currently clones are recursive. Private repositories require that the host machine has configured SSH access to GitHub, and that SSH agent forwarding is available.