Development¶
Required Software¶
Ansible is required to deploy conference site software to servers. For local development, you will also need Vagrant and Virtualbox to manage the virtual machine containing your development environment.
In order to successfully build virtualenvs, a number of development Python libraries/packages should also be installed.
- libffi-dev
- libpq-dev
- libpython-dev
- pip
- virtualenv
- virtualenvwrapper
Local Development¶
This section assumes all of the required software mentioned in the last section has been installed successfully.
Use Vagrant and Virtualbox to create a local environment in a virtual machine (VM) that matches production.:
git clone https://github.com/pydata/conf_site.git
cd conf_site
mkvirtualenv conf_site
vagrant up --provision
The main vagrant commands to use are:
- vagrant up
- This starts up the VM. When you run it for the first time, it provisions the VM.
- vagrant provision
- This uses Ansible to deploy your current code and other required settings to the VM.
- vagrant halt
- When you aren’t working on the project, you can turn off the VM with this command.
- vagrant destroy
- This completely wipes away the VM. You can destroy it and start over.
- vagrant ssh
- This logs you in to the VM as the vagrant user.