Skip to content

Project reference configuration for use with Ansible & Vagrant

License

Notifications You must be signed in to change notification settings

goechsler/WunderTools

 
 

Repository files navigation

Project reference setup with ansible & vagrant

##Setup

You can setup the IP address and the url of your vagrant machine on the Vagrantfile.

Edit the variables.yml file to setup the URL and dir for the docs of your project.

Remember to add also the entries in your hosts file for both the drupal install and the docs.

Requirements:

##Introduction

Start by running:

$ vagrant up

This will do the following:

  • clone the latest WunderMachina ansible/vagrant setup (or the version specified in conf/project.yml)
  • Bring up & provision the virtual machine (if needed)
  • Build the drupal site under drupal/current (not yet actually)

After finishing provisioning (first time is always slow) and building the site you need to install the Drupal site in http://x.x.x.x:8080/install.php (Note: on rare occasion php-fpm/varnish/e.g. requires to be restarted before starting to work. You can do this by issuing the following command:

$ vagrant ssh -c "sudo service php-fpm restart" $ vagrant ssh -c "sudo service varnish restart"

All Drupal related configurations are under drupal/conf

Drush is usable without ssh access with the drush.sh script e.g:

$ ./drush.sh cc all

To open up ssh access to the virtual machine:

$ vagrant ssh


Useful things

At the moment IP is configured in Vagrantfile variable INSTANCE_IP

Varnish responds to http://x.x.x.x/

Nginx responds to http://x.x.x.x:8080/

Solr responds to http://x.x.x.x:8983/solr

MailHOG responds to http://x.x.x.x:8025

Docs are in http://x.x.x.x:8080/index.html You can setup the dir where the docs are taken from and their URL from the variables.yml file.

    #Docs
    docs:
      hostname : 'docs.local.ansibleref.com'
      dir : '/vagrant/docs'

##Vagrant + Ansible configuration

Vagrant is using Ansible provision stored under the ansible subdirectory. The inventory file (which stores the hosts and their IP's) is located under ansible/inventory. Host specific configurations for Vagrant are stored in ansible/vagrant.yml and the playbooks are under ansible/playbook directory. Variable overrides are defined in ansible/variables.yml.

You should only bother with the following:

Vagrant box setup conf/vagrant.yml

What components do you want to install? conf/vagrant.yml

And how are those set up? conf/variables.yml

You can also fix your vagrant/ansible base setup to certain branch/revision conf/project.yml There you can also do the same for build.sh

Debugging tools

XDebug tools are installed via the devtools role. Everything should work out of the box for PHPStorm. PHP script e.g. drush debugging should also work.

Example sublime text project configuration (via Project->Edit Project):

{
   "folders":
   [
     {
       "follow_symlinks": true,
       "path": "/path/to/ansibleref"
     }
   ],

   "settings":
   {
     "xdebug": {
          "path_mapping": {
                "/vagrant" : "/path/to/ansibleref"
             }
        }
      }
}

About

Project reference configuration for use with Ansible & Vagrant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 46.9%
  • PHP 36.8%
  • Shell 13.1%
  • Gherkin 3.2%