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.2KB

12345678910111213141516171819202122232425262728293031323334353637
  1. require 'dotenv/load'
  2. require 'sassc'
  3. require_relative './db/migrate'
  4. require_relative './db/scrape'
  5. task 'migrate' do
  6. migrate
  7. end
  8. task 'scrape' do
  9. scraper = Scraper.new(log: ENV['APP_ENV'] == 'development')
  10. scraper.scrape
  11. end
  12. task 'build' do
  13. scss = File.read('./web/assets/style.scss')
  14. css = SassC::Engine.new(scss, style: :compressed).render
  15. puts 'Writing web/public/style.css'
  16. File.write('./web/public/style.css', css)
  17. js = File.read('./web/assets/script.js')
  18. puts 'Writing web/public/script.js'
  19. File.write('./web/public/script.js', js)
  20. end
  21. task 'deploy' do
  22. username = ENV['PROD_USERNAME']
  23. hostname = ENV['PROD_HOSTNAME']
  24. puts `rsync -rv ./db #{username}@#{hostname}:/var/www/vlv-search/`
  25. puts `rsync -rv ./lib #{username}@#{hostname}:/var/www/vlv-search/`
  26. puts `rsync -rv ./web #{username}@#{hostname}:/var/www/vlv-search/`
  27. puts `rsync -rv ./Rakefile #{username}@#{hostname}:/var/www/vlv-search/`
  28. puts `rsync -rv ./Gemfile #{username}@#{hostname}:/var/www/vlv-search/`
  29. puts `rsync -rv ./Gemfile.lock #{username}@#{hostname}:/var/www/vlv-search/`
  30. puts `ssh #{username}@#{hostname} 'cd /var/www/vlv-search; rake build'`
  31. puts `ssh #{username}@#{hostname} '~/restart-unicorn'`
  32. end