获取 Capistrano 3 中设置变量的列表

Get a list of the set variables in Capistrano 3

我想知道是否有一种简单的方法可以获取 Capistrano 3 中所有当前设置的变量?

所以如果我有:

set :user, "deploy"
set :application, "someapp"

我想要这样的东西:

all_variables # => { user: "deploy", application: "someapp", ... }

谢谢

我在找同样的东西,结果找到了 Capistrano::Configuration.env

namespace :dump do
  task :env do
    pp Capistrano::Configuration.env
  end
end

这应该允许您通过调用 cap dump:env.

查看所有 :set 变量

使用 fetch 获取值。

Fetch mention in getting started guide

快速编辑: 要准确获取您正在寻找的内容,请尝试:

all_variables = Capistrano::Configuration.env.instance_eval{ @config }

这个效果不错

vars = Capistrano::Configuration
  .env
  .instance_eval { @variables }
  .trusted_keys

对于 Capistrano 2,我们可以使用变量模块 - ref - https://github.com/capistrano/capistrano/blob/v2.15.5/lib/capistrano/configuration/variables.rb

namespace :dump do
  task :variables do
    p variables.inspect
  end
end