I’m worried about having to stop the server, update the code with the control version, then run
$ rake assets:precompile
, wait, and then start the server. Users that are online when I do that will be annoyed by a broken site.
Is there a better way? Maybe a way to go into ‘maintainance mode’ so the users know what’s going on?
Capistrano is one of the most used deployment solutions. It allows you to set your site in maintenance mode. I would strongly recommend using it.
If you are running more than one instance of your application, then you can update them one at a time to prevent downtime, with the exception of certain database changes.
If you must do this manually, (assuming your web server is set up to serve static files from the public folder) you can create an index.html file in your public directory and remove it again when you have finished the update.