class Shuttle::Deploy
Attributes
config[R]
environment[R]
ssh[R]
target[R]
version[R]
Public Class Methods
new(config, ssh, target, environment)
click to toggle source
# File lib/shuttle/deploy.rb, line 12 def initialize(config, ssh, target, environment) @config = config @target = target @ssh = ssh @environment = environment if ssh.file_exists?(version_path) res = ssh.capture("cat #{version_path}") @version = (res.empty? ? 1 : Integer(res) + 1).to_s else @version = 1 end end
Public Instance Methods
available_releases()
click to toggle source
Get list of all existing releases @return [Array<Integer>]
# File lib/shuttle/deploy.rb, line 34 def available_releases if ssh.directory_exists?(deploy_path('releases')) releases = ssh.capture("ls --color=never #{deploy_path}/releases") releases. scan(/[\d]+/). map { |s| s.strip.to_i }. sort else [] end end
last_version()
click to toggle source
Get current deploy version @return [Integer]
# File lib/shuttle/deploy.rb, line 28 def last_version @last_version ||= ssh.read_file(version_path).to_i end