【问题标题】:Rake Capistrano - how to pass dynamic parameters to execute a shell commandRake Capistrano - 如何传递动态参数来执行 shell 命令
【发布时间】:2016-05-20 16:35:31
【问题描述】:
在我的 Rake capistrano 脚本中,我正在创建需要具有动态参数的 shell 命令。我的 rake 代码如下
execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=<arg1>' #{release_path}/backend_layer/configs/hdfs/cluster.sh"
如何调用这个 rake 并发送参数 ,以便我的命令是动态的
【问题讨论】:
标签:
ruby-on-rails
ruby
parameters
rake
capistrano
【解决方案1】:
像下面这样写你的 rake 任务
desc 'Passing argument on rake task'
task :symlink_shared, [:arg1] => :environment do |t, args|
execute "sed -i '/SPARK_HOME=/c\\export SPARK_HOME=#{args.arg1}' #{release_path}/backend_layer/configs/hdfs/cluster.sh"
end
然后,使用如下参数运行 cap 脚本
cap staging postdeploy:symlink_shared[<your_arg1>]