加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 内置Capistrano变量

发布时间:2020-12-16 20:32:14 所属栏目:百科 来源:网络整理
导读:有人知道所有内置Capistrano变量的列表,如current_path等吗? 解决方法 你可以找到他们所有的: https://github.com/capistrano/capistrano/blob/legacy-v2/lib/capistrano/recipes/deploy.rb 更新:v3不再具有与v2相同的配置选项.我链接了上面的v2配置选项,
有人知道所有内置Capistrano变量的列表,如current_path等吗?

解决方法

你可以找到他们所有的:

https://github.com/capistrano/capistrano/blob/legacy-v2/lib/capistrano/recipes/deploy.rb

更新:v3不再具有与v2相同的配置选项.我链接了上面的v2配置选项,但v3具有以下内容:

这是传统的,保留在这篇文章:

# =========================================================================
# These variables MUST be set in the client capfiles. If they are not set,# the deploy will fail with an error.
# =========================================================================

_cset(:application) { abort "Please specify the name of your application,set :application,'foo'" }
_cset(:repository)  { abort "Please specify the repository that houses your application's code,set :repository,'foo'" }

# =========================================================================
# These variables may be set in the client capfile if their default values
# are not sufficient.
# =========================================================================

_cset(:scm) { scm_default }
_cset :deploy_via,:checkout

_cset(:deploy_to) { "/u/apps/#{application}" }
_cset(:revision)  { source.head }

_cset :rails_env,"production"
_cset :rake,"rake"

# =========================================================================
# These variables should NOT be changed unless you are very confident in
# what you are doing. Make sure you understand all the implications of your
# changes if you do decide to muck with these!
# =========================================================================

_cset(:source)            { Capistrano::Deploy::SCM.new(scm,self) }
_cset(:real_revision)     { source.local.query_revision(revision) { |cmd| with_env("LC_ALL","C") { run_locally(cmd) } } }

_cset(:strategy)          { Capistrano::Deploy::Strategy.new(deploy_via,self) }

# If overriding release name,please also select an appropriate setting for :releases below.
_cset(:release_name)      { set :deploy_timestamped,true; Time.now.utc.strftime("%Y%m%d%H%M%S") }

_cset :version_dir,"releases"
_cset :shared_dir,"shared"
_cset :shared_children,%w(public/system log tmp/pids)
_cset :current_dir,"current"

_cset(:releases_path)     { File.join(deploy_to,version_dir) }
_cset(:shared_path)       { File.join(deploy_to,shared_dir) }
_cset(:current_path)      { File.join(deploy_to,current_dir) }
_cset(:release_path)      { File.join(releases_path,release_name) }

_cset(:releases)          { capture("#{try_sudo} ls -x #{releases_path}",:except => { :no_release => true }).split.sort }
_cset(:current_release)   { releases.length > 0 ? File.join(releases_path,releases.last) : nil }
_cset(:previous_release)  { releases.length > 1 ? File.join(releases_path,releases[-2]) : nil }

_cset(:current_revision)  { capture("#{try_sudo} cat #{current_path}/REVISION",:except => { :no_release => true }).chomp }
_cset(:latest_revision)   { capture("#{try_sudo} cat #{current_release}/REVISION",:except => { :no_release => true }).chomp }
_cset(:previous_revision) { capture("#{try_sudo} cat #{previous_release}/REVISION",:except => { :no_release => true }).chomp if previous_release }

_cset(:run_method)        { fetch(:use_sudo,true) ? :sudo : :run }

# some tasks,like symlink,need to always point at the latest release,but
# they can also (occassionally) be called standalone. In the standalone case,# the timestamped release_path will be inaccurate,since the directory won't
# actually exist. This variable lets tasks like symlink work either in the
# standalone case,or during deployment.
_cset(:latest_release) { exists?(:deploy_timestamped) ? release_path : current_release }

_cset :maintenance_basename,"maintenance"
_cset(:maintenance_template_path) { File.join(File.dirname(__FILE__),"templates","maintenance.rhtml") }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读