2015-09-29 71 views
0

我在capistrano 3.4中编写一个任务,在部署的代码中打印git版本号。我可以打印代码。这里我想将输出代码存储在某个变量中。我如何在Ruby变量中存储shell命令的输出。以下是我的任务。ruby​​变量bash shell命令输出分配capistrano

desc "version number" 
task :set_current_version do 
    on roles(:app) do 
    execute "version=#{current_path}/REVISION ; cat $version " 
    end 
end 

我需要在变量中存储cat $ version的输出。所以我可以在另一个代码中引用这个变量。

回答

0

我通过下面的捕获方法得到了解决这个问题的例子。

on '1.example.com' do 
    if test("[ -f somefile.txt ]") 
    execute(:cp, 'somefile.txt', 'somewhere_else.txt') 
    end 
    ls_output = capture(:ls, '-l') 
end