class Rmd::DeployService

Public Class Methods

bash(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 35
def self.bash(server)
  validate(server)
  command = %{ssh -t #{master(server)} -p 2200 DOCKER_HOST=:2375 docker exec -it ringmd_new_web_1 bash}
  system_cmd(command)
end
config(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 41
def self.config(server)
  validate(server)
  command = %{ssh -t #{master(server)} -p 2200 vim #{NAME}/.env}
  system_cmd(command)
  $stdout.puts('Please remember to restart the servers for the new config to take effect')
end
deploy(server, skip_assets = false) click to toggle source
# File lib/rmd/deploy_service.rb, line 8
def self.deploy(server, skip_assets = false)
  validate(server)
  deploy_url = "#{url(server)}/deploy"
  options = "-d token=#{token(server)} -d skip_assets=#{skip_assets.to_s}"
  command = "curl -s -X GET #{deploy_url} #{options}"
  system_cmd(command)
end
logs(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 22
def self.logs(server)
  validate(server)
  command = %{echo "cd #{NAME} && DOCKER_HOST=:2375 docker-compose logs" | ssh #{master(server)} -p 2200}
  system_cmd(command)
end
nginx(server, type) click to toggle source
# File lib/rmd/deploy_service.rb, line 28
def self.nginx(server, type)
  validate(server)
  validate_type(type)
  command = %{echo "tailf nginx/log/#{type}.log" | ssh #{nginx_url(server)}}
  system_cmd(command)
end
restart(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 16
def self.restart(server)
  validate(server)
  command = %{echo "cd #{NAME} && sh restart.sh" | ssh #{master(server)} -p 2200}
  system_cmd(command)
end

Private Class Methods

exists?(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 58
def self.exists?(server)
  Server.all.include?(server)
end
master(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 70
def self.master(server)
  Server.get(server).master
end
nginx_url(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 74
def self.nginx_url(server)
  Server.get(server).nginx
end
system_cmd(cmd) click to toggle source
# File lib/rmd/deploy_service.rb, line 78
def self.system_cmd(cmd)
  $stdout.puts(cmd)
  system(cmd)
end
token(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 66
def self.token(server)
  Server.get(server).token
end
url(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 62
def self.url(server)
  Server.get(server).url
end
validate(server) click to toggle source
# File lib/rmd/deploy_service.rb, line 50
def self.validate(server)
  fail(ServerNotFound, 'Server not found in the creds file') unless exists?(server)
end
validate_type(type) click to toggle source
# File lib/rmd/deploy_service.rb, line 54
def self.validate_type(type)
  fail(TypeNotFound, "Type is not in #{TYPE}") unless TYPE.include?(type)
end