2015-09-29 107 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