Local vs. Remote Development: Do Both by Syncing Your Site From Kitchen to Cloud With Jenkins
Where do you do your website development? On your local machine or local VM? What about remotely on a server? Each comes with advantages and disadvantages. Developing locally means colleagues and clients can’t see your progress without handing them your computer. Developing remotely “over the wire” means lost development time if you have a spotty or slow internet connection or need to work offline. It also (potentially) means that multiple developers are stepping on each other’s work in the shared remote development space.
This shouldn’t be an either-or choice. The solution is to keep your local environment in sync with your remote environment.
In this session we’ll demonstrate how to mirror your local and remote development environments and discuss the issues involved, including:
- A brief example of how to use a multi-machine Vagrant setup with a private network
- How to use HAProxy to get rid of the pesky Vagrant ports and fake domains
- How to set up Jenkins to keep the environments in sync, including:
- Keeping files in sync
- Keeping code in sync
- Periodically transferring the database
This session assumes you are familiar with Vagrant, but even if you are not, you will walk away from this session with a strategy and toolset that allows you to quickly apply this pattern to each new site you develop.