lib/alpha_omega/deploy.rb in alpha_omega-0.0.131 vs lib/alpha_omega/deploy.rb in alpha_omega-0.0.132
- old
+ new
@@ -77,10 +77,11 @@
_cset :releases, [ "alpha", "beta", "omega" ]
_cset(:releases_dir) { releases.length > 0 ? "releases" : "" }
_cset :previous_dir, "previous"
_cset :current_dir, "current"
+ _cset :next_dir, "next"
_cset :service_dir, "service"
_cset :log_dir, "log"
_cset(:releases_path) { File.join(deploy_to, releases_dir) }
@@ -92,16 +93,25 @@
else
""
end
}
_cset(:current_path) { File.join(deploy_to, current_dir) }
+ _cset(:next_path) {
+ if releases.length > 0
+ w = current_workarea
+ releases.index(w) && releases[(releases.index(w)+1)%releases.length] || ""
+ else
+ ""
+ end
+ }
_cset(:service_path) { File.join(deploy_to, service_dir) }
_cset(:service_drop) { File.join(deploy_to, ".#{service_dir}.d") }
_cset(:log_path) { File.join(deploy_to, log_dir) }
_cset(:previous_revision) { capture("cat #{previous_release}/REVISION", :except => { :no_release => true }).chomp if previous_release }
_cset(:current_revision) { capture("cat #{current_path}/REVISION", :except => { :no_release => true }).chomp }
+ _cset(:next_revision) { capture("cat #{next_release}/REVISION", :except => { :no_release => true }).chomp if next_release }
_cset(:latest_revision) { capture("cat #{current_release}/REVISION", :except => { :no_release => true }).chomp }
_cset(:run_method) { fetch(:use_sudo, true) ? :sudo : :run }
# formerly:
@@ -113,9 +123,10 @@
# standalone case, or during deployment.
#
# with persistent releases, the latest release is always the current release
_cset(:previous_release) { previous_path }
_cset(:current_release) { release_path }
+ _cset(:next_release) { next_path }
_cset(:latest_release) { current_release }
# =========================================================================
# deploy:lock defaults
# =========================================================================