Topic: How to "redeploy" an application.

I have finished some parts of my application and I want to deploy it on the live server. There is currently a running application on the server,  which was previously set up by the first programmer. I just want to add my code by "redeploy" the application since I have just been building on the previous programmers code. I have been developing on a Ubuntu server but the live server runs on Mac OS X. I have no experience with Mac OS X.

Is it the same as just deploying it?

I was reading through the Mac OS X on http://developer.apple.com/tools/deploy … opard.html but I am not sure what has already been installed or set up.

Last edited by t4psum60n9buddh4 (2010-08-09 11:00:45)

Re: How to "redeploy" an application.

In my experience you just need to update the files and restart your web server (depending on what web server you are using).

/app
Typically you can just copy the /app directory because that just stores the logic/display for your application.

*/db
If you have made database schema (migration) changes then you need to deploy the new database schema and then migrate the data.

*/config
You also should evaluate any configuration changes.

/lib
Any rake tasks/jobs you added.

*/public
Any images/css/etc you added. You might want to be careful here in case the application stores data (like avatars/images/etc.) from the user (using something like paperclip/attachment_fu/etc.) so it doesn't get lost or overwritten. Also, depending on what production web server and configuration you are using, you want to be careful with the files directly inside /public (dispatch.fcgi, .htaccess, etc.).

/vendor
Any plugins you added.

* = Directories you should be careful with (examine) before just simply overwriting!

------------------------------------------------------------------------------

Are you deploying just a couple of changes? Are they minor (view updates)?

If you are making a lot of changes I would take a snapshot of your production application (probably a good idea regardless) and then compare it to your development application so you can pinpoint exactly what needs to be changed.

If you are not already using some sort of source code management (Subversion, git, etc.) to track your source changes I would HIGHLY recommend it. If you are going to be deploying frequently, you might want to look at a deployment tool (capistrano) so that you can deploy quickly, effortlessly, and most importantly, consistently! I personally am using Subversion with capistrano, with the touch of a button I can push my changes from development to production in <= 2 minutes completely hands off (this includes restarting my production web server). The process is more involved if I have schema changes.

Hope that helps.

Last edited by jmesserer (2010-08-09 11:58:02)

Re: How to "redeploy" an application.

I will be adding a search engine and several new reports among other things. It will be rather a major update. I'll look into your suggestions thanks.