Thursday 25 February 2016

Setting up Vlad development environment

The place to go for more information is https://www.vagrantup.com  & https://vlad-docs.readthedocs.org

What is It ?  A tool for building complete development environments.

Why ?   To decrease development setup time and increase production parity.


What do we need to set up on our local machines -
 
  1. Virtual Box
  2. Vagrant
  3. Ansible - use PIP 

The first two are as easy as going to these websites and downloading the latest versions https://www.virtualbox.org/  and https://www.vagrantup.com/downloads.html

Downloading the third App 'Ansible' may depend on your operating system . At the time of writing it was recommended by Dan that we should install version 1.9.4 using 'pip' .  Or though homebrew will work also. The following command should work

sudo pip install ansible==1.9.4 

This didn't work for me an I ended up install the lastest version with Homebrew, but everything seems to be working fine.

 
Here endeth the set up for your local environment that will only need to be done once.  From here on the instructions will need to be followed per project 

Per Project Settings 
__________________
Once set up we can up a project with inside our folder we should then have a 'docroot' folder .  

In terminal 'cd' into your project folder 
INSTALL VLAD -  which is grabbed from the github page https://github.com/hashbangcode/vlad  - at the time of writing we should be taking Vlad from DEV and not master. 
HOWEVER at the time of writing it's been requested we download the dev version as there are important changes and features on there that we'll need. 
We need to set up a settings.yml file which will go in a sibling folder to docroot called 'settings' 


So here you'll need to create the folder 'settings' and then you can copy an example file from vlad_guts/example.vlad_settings.yml .

Here's my file from my test set up
-


---
# Webserver settings webserver_hostname: 'test.local' webserver_hostname_aliases:  - 'www.test.local'
# Vagrantfile configuration boxipaddress: "192.168.111.122" boxname: "test" host_synced_folder: "../docroot" aux_synced_folder: "../vlad_aux"

 #SSH Settings use_host_id: true

  #CPUs and memory to be allocated vm_cpus: "auto" vm_memory: "auto"
 php_version: "5.6"
 aberdeen_cli_install: true

 db_import_up: true


  • Paths in settings are relevant to wherever the Vagrant file is.  
  • Aux folder should be set to "../vlad_aux" so it appears as a sibling, as in the image above. 
  • Box Ip Address to be unique for each dev and project.  This will need to be agreed with other Devs
  • Aberdeen Cli installation has been added to sql sync database straight from Aberdeen

  •  DB import up - will make sure a Database will import if in vlad_aux/db_io/[path_to_file] if it exists.  More information here .  https://vlad-docs.readthedocs.org/en/latest/usage/variables/
cd into the folder where the 'Vagrantfile' is . 
'cd vlad'
'vagrant up'
To see the database with adminer then add this before your domain  http://www.adminer.domain

Sharing a project .  

we can use the command 'vagrant share'  to get a url to share our project with others , but first we'll need to set ourselves up on https://atlas.hashicorp.com/

No comments: