2
我正在使用Capistrano v2.9.0。如何將命令行參數傳遞給capistrano
我運行此命令:
cap deploy:tryout -S testvar=thing
和我deploy.rb包含此:
namespace :deploy do
task :tryout do
if defined? testvar
puts "param: #{testvar}\n"
else
puts "no branch!\n"
end
end
end
輸出爲 「無分支!」。如何從命令行傳遞值?我試圖查看代碼,我可以看到options.rb它將傳遞的參數添加到選項[:pre_vars],但似乎是一個實例變量,我無法弄清楚如何從我的部署中訪問它腳本。
是'-S'一個錯字?它應該是'-s'(小寫) – Kashyap
不,根據cap docs,小寫是--set,大寫是--set-before。無論如何,我已經試過了。 – Benubird
重複的:http://stackoverflow.com/questions/10216841/passing-parameters-to-capistrano - 此外,測試變量存在如下所示:https://github.com/capistrano/capistrano/wiki/2。 x-DSL-Configuration-Variables-Exists - 我相信在命令行上設置的變量是以相同的方式測試的。嘗試把你的var放在其他地方,看看會發生什麼。 – juanitogan