Development Environments with Vagrant
About
The intention of this project is to provide a complete development pipeline for
programmers and help them to develop and test their applications in environments
closer to the real production than their standalone local environments.
To do it, we are currently using Vagrant/Puppet and Virtualbox. This project
includes VMs to provide the following services:
- Git
- Subversion
- Jenkins
- Apache/PHP
- Memcached
- MySQL (master-slave)
- MySQL (cluster)
I'm currently working on the following services to release them soon:
- Varnish
- Nginx/PHP
- Nginx (balancer)
- MongoDB
- PostgreSQL
Actually this project works with Puppet modules, in future versions some Chef
cookbooks will also be included.
Vagrant Notes
It's assumed that you already know how to use Vagrant.
This project provides a Vagrantfile you can use to create your VMs, please make
sure that you already have Vagrant installed and vagrant boxes with same name
than the ones in the Vagrantfile.
Puppet's requirements
It's assumed that you already know how to use Puppet.
The puppet module "jenkins" requires the submodule "apt" from Github
The puppet module "mysql" (cluster) requires that yout get the tarball from
MySQL Downloads and add it to the "files" directory (create it if do not
exists). Example:
$ cp ~/mysql-cluster-gpl-7.3.0-linux2.6-x86_64.tar.gz \ ~/devenv/puppet/modules/mysql/files/
Legal
This project is under the terms of the LGPL version 3.0, submodules
and third party components are licensed according to their owners.
Copyright © 2013 Basilio Briceño <bbh at briceno.mx>