added 260907 version of worker toolkit
This commit is contained in:
80
worker-toolkit-flaredown/repo/Rakefile
Normal file
80
worker-toolkit-flaredown/repo/Rakefile
Normal file
@@ -0,0 +1,80 @@
|
||||
require "rake"
|
||||
|
||||
desc "run application"
|
||||
task :run do
|
||||
pids = [
|
||||
spawn("cd backend && bundle install && foreman start -f Procfile.local"),
|
||||
spawn("cd frontend && rm -rfd ./dist && ./node_modules/.bin/ember serve --port 4300")
|
||||
]
|
||||
|
||||
trap "INT" do
|
||||
Process.kill "INT", *pids
|
||||
exit 1
|
||||
end
|
||||
|
||||
pids.each do |pid|
|
||||
Process.wait pid
|
||||
end
|
||||
end
|
||||
|
||||
{production: "flaredown", staging: "flaredown-staging"}.each do |env, application|
|
||||
namespace env.to_sym do
|
||||
desc "restart application"
|
||||
task :restart do
|
||||
log "Restart #{application}"
|
||||
restart "#{application}-api"
|
||||
end
|
||||
|
||||
desc "deploy application"
|
||||
task :deploy do
|
||||
Rake::Task["#{env}:deploy:backend"].invoke
|
||||
Rake::Task["#{env}:deploy:frontend"].invoke
|
||||
end
|
||||
|
||||
namespace :deploy do
|
||||
desc "deploy frontend application"
|
||||
task :frontend do
|
||||
log "Deploy frontend #{application} with revision: #{revision}"
|
||||
deploy_to "git@heroku.com:#{application}-webapp.git", "frontend"
|
||||
end
|
||||
|
||||
desc "deploy backend application"
|
||||
task :backend do
|
||||
log "Deploy backend #{application} with revision: #{revision}"
|
||||
deploy_to "git@heroku.com:#{application}-api.git", "backend"
|
||||
migrate "#{application}-api"
|
||||
end
|
||||
end
|
||||
|
||||
desc "setup application"
|
||||
task :setup do
|
||||
system("heroku pg:reset DATABASE --app #{application}-api --confirm #{application}-api")
|
||||
system("heroku run rake app:setup --app #{application}-api")
|
||||
end
|
||||
|
||||
desc "invite user to join into application"
|
||||
task :invite do
|
||||
system("heroku run rake app:invite --app #{application}-api")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def deploy_to(remote, subtree)
|
||||
system("git push #{remote} `git subtree split --prefix #{subtree} #{revision}`:master --force")
|
||||
end
|
||||
|
||||
def migrate(application)
|
||||
system("heroku run rake db:migrate --app #{application}")
|
||||
end
|
||||
|
||||
def restart(application)
|
||||
system("heroku restart --app #{application}")
|
||||
end
|
||||
|
||||
def revision
|
||||
ENV.fetch("REVISION") { "master" }
|
||||
end
|
||||
|
||||
def log(message)
|
||||
puts ">>> #{message}"
|
||||
end
|
||||
Reference in New Issue
Block a user