Note that, even if we're excluding the `node_modules/` folder from version control, we aren't adding it to Capistrano's shared folders because, when `node_modules` is a symbolic link, NPM removes it when running `npm install`.
42 lines
1.2 KiB
Ruby
Executable File
42 lines
1.2 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
require "fileutils"
|
|
|
|
# path to your application root.
|
|
APP_ROOT = File.expand_path("..", __dir__)
|
|
|
|
def system!(*args)
|
|
system(*args) || abort("\n== Command #{args} failed ==")
|
|
end
|
|
|
|
FileUtils.chdir APP_ROOT do
|
|
# This script is a way to set up or update your development environment automatically.
|
|
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
|
|
# Add necessary setup steps to this file.
|
|
|
|
puts "== Installing dependencies =="
|
|
system! "gem install bundler --conservative"
|
|
system("bundle check") || system!("bundle install")
|
|
|
|
# Install JavaScript dependencies
|
|
system!("npm install")
|
|
|
|
puts "\n== Copying sample files =="
|
|
unless File.exist?("config/database.yml")
|
|
FileUtils.cp "config/database.yml.example", "config/database.yml"
|
|
end
|
|
|
|
unless File.exist?("config/secrets.yml")
|
|
FileUtils.cp "config/secrets.yml.example", "config/secrets.yml"
|
|
end
|
|
|
|
puts "\n== Preparing database =="
|
|
system! "bin/rails db:prepare"
|
|
system! "RAILS_ENV=test bin/rails db:prepare"
|
|
|
|
puts "\n== Removing old logs and tempfiles =="
|
|
system! "bin/rails log:clear tmp:clear"
|
|
|
|
puts "\n== Restarting application server =="
|
|
system! "bin/rails restart"
|
|
end
|