You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Rakefile 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. require 'dotenv/load'
  2. task 'server' do
  3. require_relative './web/server'
  4. VLVSearch.run!
  5. end
  6. task 'migrate' do
  7. require_relative './db/migrate'
  8. migrate
  9. end
  10. task 'migrate_test' do
  11. require_relative './db/migrate'
  12. TEST_DB = Sequel.connect(
  13. adapter: :postgres,
  14. database: ENV['DB_DATABASE'] + '_test',
  15. user: ENV['DB_USERNAME'],
  16. password: ENV['DB_PASSWORD'],
  17. logger: ENV['APP_ENV'] == 'development' ? Logger.new('db/log') : nil
  18. )
  19. migrate(db: TEST_DB)
  20. end
  21. task 'scrape' do
  22. require_relative './db/scraper'
  23. should_log = ENV['APP_ENV'] == 'development' || ARGV.include?('--log')
  24. scraper = Scraper.new(log: should_log)
  25. scraper.scrape
  26. end
  27. task 'build' do
  28. unless Dir.exist?('./web/public')
  29. puts 'Creating web/public/'
  30. Dir.mkdir('./web/public')
  31. end
  32. css = File.read('./web/assets/style.css')
  33. puts 'Writing web/public/style.css'
  34. File.write('./web/public/style.css', css)
  35. js = File.read('./web/assets/script.js')
  36. puts 'Writing web/public/script.js'
  37. File.write('./web/public/script.js', js)
  38. end
  39. task 'deploy' do
  40. username = ENV['PROD_USERNAME']
  41. hostname = ENV['PROD_HOSTNAME']
  42. puts `rsync -rv ./db/*.rb #{username}@#{hostname}:/var/www/vlv-search/`
  43. puts `rsync -rv ./lib #{username}@#{hostname}:/var/www/vlv-search/`
  44. puts `rsync -rv ./web #{username}@#{hostname}:/var/www/vlv-search/`
  45. puts `rsync -rv ./Rakefile #{username}@#{hostname}:/var/www/vlv-search/`
  46. puts `rsync -rv ./Gemfile #{username}@#{hostname}:/var/www/vlv-search/`
  47. puts `rsync -rv ./Gemfile.lock #{username}@#{hostname}:/var/www/vlv-search/`
  48. puts `ssh -t #{username}@#{hostname} 'bash -ic ". .profile; cd /var/www/vlv-search; rake build;"'`
  49. puts `ssh -t #{username}@#{hostname} 'bash -ic ". .profile; ~/restart-unicorn"'`
  50. end