123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- require 'dotenv/load'
-
- task 'server' do
- require_relative './web/server'
-
- VLVSearch.run!
- end
-
- task 'migrate' do
- require_relative './db/migrate'
-
- migrate
- end
-
- task 'migrate_test' do
- require_relative './db/migrate'
-
- TEST_DB = Sequel.connect(
- adapter: :postgres,
- database: ENV['DB_DATABASE'] + '_test',
- user: ENV['DB_USERNAME'],
- password: ENV['DB_PASSWORD'],
- logger: ENV['APP_ENV'] == 'development' ? Logger.new('db/log') : nil
- )
-
- migrate(db: TEST_DB)
- end
-
- task 'scrape' do
- require_relative './db/scraper'
-
- should_log = ENV['APP_ENV'] == 'development' || ARGV.include?('--log')
- scraper = Scraper.new(log: should_log)
- scraper.scrape
- end
-
- task 'build' do
- unless Dir.exist?('./web/public')
- puts 'Creating web/public/'
- Dir.mkdir('./web/public')
- end
-
- css = File.read('./web/assets/style.css')
- puts 'Writing web/public/style.css'
- File.write('./web/public/style.css', css)
-
- js = File.read('./web/assets/script.js')
- puts 'Writing web/public/script.js'
- File.write('./web/public/script.js', js)
- end
-
- task 'deploy' do
- username = ENV['PROD_USERNAME']
- hostname = ENV['PROD_HOSTNAME']
- puts `rsync -rv ./db/*.rb #{username}@#{hostname}:/var/www/vlv-search/`
- puts `rsync -rv ./lib #{username}@#{hostname}:/var/www/vlv-search/`
- puts `rsync -rv ./web #{username}@#{hostname}:/var/www/vlv-search/`
- puts `rsync -rv ./Rakefile #{username}@#{hostname}:/var/www/vlv-search/`
- puts `rsync -rv ./Gemfile #{username}@#{hostname}:/var/www/vlv-search/`
- puts `rsync -rv ./Gemfile.lock #{username}@#{hostname}:/var/www/vlv-search/`
- puts `ssh -t #{username}@#{hostname} 'bash -ic ". .profile; cd /var/www/vlv-search; rake build;"'`
- puts `ssh -t #{username}@#{hostname} 'bash -ic ". .profile; ~/restart-unicorn"'`
- end
|