A solid development environment is important. You need a place where you can look at your application to make sure it’s running fine. Many times folks do this on their local machine. It’s better to test on a separate machine from what you’re working on. This way, you can catch things like dependency and configuration changes.
This development/testing server has the following advantages:
- A configuration and environment that matches production (if you have a Linux host)
- Build code on any machine push it to a centralized location
- Continuous Integration - Push and refresh in your browser
Ideally, you can set up a workflow that looks like this:
- Develop your code locally and commit it.
- Push to development and test it out
- Approve changes, push it live
This enables a great workflow where you can make changes and edits, commit, then push them and refresh your browser. You can then develop your code from any machine on the network that has git. Once you’re satisfied with the changes, you can copy the artifacts to production. In fact, you can integrate production pushes into this workflow to make it all automatic.