DATES=`date +%Y%m%d%H%I%S` service apache2 stop && mysqldump -u[user] -p[pass] [yourdbname] > "your backup directory"[yourdbname]_${DATES}.sql git pull && bundle install --path [your bundle path] && bundle exec rake db:migrate RAILS_ENV=production && mv [your application's production log file] [your application's production log backup path]/production_${DATES}.log && touch [your application's production log path]/production.log && chown [user]:[group] [your application's production log file] && service apache2 startIn the above code snippet,
- Line 01: Used to get the current date time
- Line 02: Stopped the Apache server
- Line 03: Used to take database backup in the backup directory
- Line 04: Getting update source from repository
- Line 05: Bundle install to update gem list
- Line 06: Run database migration to migrate latest script if any
- Line 07: Rotating log in every deployment
- Line 08: Creating new production log file
- Line 09: Providing proper user access to write log
- Line 10: And, then start the server again
That's all. Your application should run without any issue if you configure third bracket's([]) information perfectly.
But, now a days - Capistrano allows you to deploy a Rails applications easily. You can try that and can customize if you need to.
No comments:
Post a Comment