module Shuttle::WordpressVip

Constants

VIP_URL

Public Instance Methods

vip_get_config() click to toggle source
# File lib/shuttle/deployment/wordpress/vip.rb, line 56
def vip_get_config
  data = config.wordpress.vip
  if data.nil?
   error "Please add VIP credentials to config."
  end

  if !data.user
    error "VIP user is empty. Please set :user parameter"
  end

  if !data.password
    error "VIP password is empty. Please set :password parameter"
  end

  data
end
vip_install() click to toggle source
# File lib/shuttle/deployment/wordpress/vip.rb, line 32
def vip_install
  log "Installing WordPress VIP"

  vip = vip_get_config

  options = [
    "--username #{vip.user}",
    "--password #{vip.password}",
    "--non-interactive",
    VIP_URL,
    vip_path
  ].join(' ')

  cmd = "svn co #{options}"

  res = ssh.run(cmd, &method(:stream_output))

  if res.success?
    log "WordPress VIP installed"
  else
    raise DeployError, "Unable to install WordPress VIP. Reason: #{res.output}"
  end
end
vip_installed?() click to toggle source

Check if wordpress VIP is installed @return [Boolean]

# File lib/shuttle/deployment/wordpress/vip.rb, line 19
def vip_installed?
  ssh.directory_exists?(vip_path)
end
vip_path() click to toggle source

Get wordpress VIP shared path @return [String]

# File lib/shuttle/deployment/wordpress/vip.rb, line 7
def vip_path
  @vip_path ||= shared_path('wordpress/vip')
end
vip_required?() click to toggle source

Check if wordpress VIP is required @return [Boolean]

# File lib/shuttle/deployment/wordpress/vip.rb, line 13
def vip_required?
  !config.wordpress.vip.nil?
end
vip_update() click to toggle source

Update wordpress VIP

# File lib/shuttle/deployment/wordpress/vip.rb, line 24
def vip_update
  if vip_installed?
    ssh.run("rm -rf #{vip_path}")
  end

  vip_install
end