A Proper Environment for Web Development? 66
umdenken wonders: "I'd like to know how others on Slashdot do their server-side web programming. We have dozens of Perl CGI scripts, and are currently doing development by editing these production scripts in place on the web server (!). Our sysadmins have finally installed an SVN client on the server (Solaris), and have offered to create a new virtual host that we can use as the development server. What are some of the practices you use for organizing this kind of set up?"
Re:Separate your environments (Score:5, Insightful)
I like for the pre-production and production environments to be as close as possible.
But...
I like the dev and testing environments to be different from each other... and from the production environment.
I've found that doing this helps me shake out some "dependencies" that I may not have thought about.
Taking care of those "dependencies" helps me write code that is easier to move to another environment if the customer wants to upgrade their systems.
YMMV
Process with Tomcat (Score:2, Insightful)
Instead I build up a
There are drawbacks though. Once in a while there's an emergency and I'm asked, "can't you just edit this file and get it fixed in 30 seconds?" and I have to explain that even if I skip the "test" period, the build/upload/install takes about 20 minutes (it's a big webapp, the build script runs some image generation apps that take 5-10 minutes minutes).
Minimize complexity (Score:5, Insightful)
Re:Er, uh (Score:4, Insightful)
His COMPANY was doing dev directly on the server, he has implemented SVN and a Test environment, and is wondering what the Best Practices might be. He knows there's a better way, and rather brilliantly knows he doesn't have all the answers.
For the record just a dev and prod environment isn't enough, ideally you would have multiple dev environments (individual playgrounds plus common test areas, two QA environments (New releases and current release for bugfix testing), and possibly even a User Acceptance Testing area. There should be no code updates a release is migrated through the environments, all environmental variables get read from the environment...
Of course, every dev environment will be different, with different needs, release cycles, etc...
Re:Separate your environments (Score:3, Insightful)
I like the dev and testing environments to be different from each other... and from the production environment.
Simple solution that mostly works: run a lot of the dev stuff on your desktop. Depending on your environment, that can isolate developers from each other and free up a test server for 'more stable' code.