I have a debug and a live server running a LAMP setup with some python scripts. By now I'm working with eclipse and Expandrive (via SSH) on the debug server. Whenever I want to release new code on the live server, I copy and paste the code via windows explorer from debugdrive to livedrive.

I think this environment really sucks, what are good alternatives?

2 Answers 2

  1. on your dev machine, use some sort of source control (eg git, mercurial) to manage your code. Commit often.

  2. when you have your dev code in a state where you want to deploy, tag or branch the code in a good state in your repo.

  3. write some sort of script (eg python, could be anything) to run on your live machine to pull code from the repo, taking the tag or the branch as an argument

  4. you haven't asked about db changes and the like so I won't comment :)

  5. you could set all this up on jenkins or hudson or whatever


Keep all of your artifacts in version control, for example git or mercurial. Work on building a simple and repeatable process for releasing your software. Initially the process should be manual while you try different things, but eventually you should script it. For an interpreted language the deployment might be as simple as pulling an update from version control. Try to use the same process regardless of which environment you deploy to.

I'm a big proponent of working locally whenever possible. Having a full stack on your laptop or desktop isolates you from work that other people are doing. In your case, it also allows you to try deploying code to your test server before you have to do it in production.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.