silverstripe / deploynaut-vagrant
Helps setting up a developer environment for silverstripe/deploynaut
Installs: 1 697
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 5
Forks: 4
Open Issues: 6
Language:Shell
Type:silverstripe-module
This package is not auto-updated.
Last update: 2024-07-10 21:54:59 UTC
README
Vagrant / Ansible test bench
This is a SilverStripe module that provides an automated setup of a dev environment for the deploynuat module by using virtualbox, vagrant and ansible.
System requirements
On your development machine you will need:
You can install ansible via pip
:
sudo pip install ansible
Installation
It is meant to be installed in a project that already have deploynaut installed, see the deploynaut installation instructions. Please note that you will not be required to install capistrano or php-resque, just the source code for the project.
Install this module to your current deploynaut project with composer:
composer require --dev "silverstripe/deploynaut-vagrant:*"
Start the virtual machines from the root of the project from a terminal:
VAGRANT_CWD=deploynaut-vagrant/ vagrant up
You can also only boot selected machines if you don't need the complete environment:
VAGRANT_CWD=deploynaut-vagrant/ vagrant up deploynaut prod
The purpose of using VAGRANT_CWD
is that we need to run vagrant from the root folder of the project so that it can be mounted over shared volume into the virtual machine.
On vagrant up
the vagrant will start three virtualbox machines and use ansible to install the necessary software for running one deploynaut site and two generic silverstripe sites.
Provisioned machines
Note the last octet of IP is reused as the last part of the forwarded HTTP port number.
deploynaut
- SSH Access:
VAGRANT_CWD=deploynaut-vagrant/ vagrant ssh deploynaut
- hostname: deploynaut
- Internal ip address: 10.0.1.2
- http://localhost:8102/
- http://localhost:5678/ (resque-web for debugging failing Resque workers)
uat
- SSH Access:
VAGRANT_CWD=deploynaut-vagrant/ vagrant ssh uat
- hostname: uat
- Internal ip address: 10.0.1.3
- http://localhost:8103/
prod
- SSH Access:
VAGRANT_CWD=deploynaut-vagrant/ vagrant ssh prod
- hostname: prod
- Internal ip address: 10.0.1.4
- http://localhost:8104/
rep1
- SSH Access:
VAGRANT_CWD=deploynaut-vagrant/ vagrant ssh rep1
- hostname: uat
- Internal ip address: 10.0.1.5
- http://localhost:8105/
rep2
- SSH Access:
VAGRANT_CWD=deploynaut-vagrant/ vagrant ssh rep2
- hostname: prod
- Internal ip address: 10.0.1.6
- http://localhost:8106/
Detailed usage instructions
Step by step instructions to setup a fully working environment
VAGRANT_CWD=ansible/ vagrant up
Go to the admin http://localhost:8102/admin/naut/
The username and password is: admin
/ password
Configure a git repository where needed, e.g. https://github.com/stojg/sandbox.dev.git
You can click "Check connection", it should report "You appear to have all necessary dependencies installed"
Go to project/mytest and deploy to the selected environment. The site should be up now.
FAQ
Q: I have restarted (or vagrant reloaded) the deploynaut server and now it's not working!
A: Resque might not have started. Rerun the provisioner by calling vagrant provision deploynaut.