我想在部署完成后删除遥控器上的一些文件夹。我目前正在使用
task :set_permissions do
parallel do |session|
session.when "in?(:xb_test)", "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess"
end
真的有两个问题,这是最好的方法吗?如何在多个函数上运行这种语句而不必编写重复代码?
session.when "in?(:xb_test)" ...
session.when "in?(:xb_dev)" ...
session.when "in?(:xb_live)" ...
任何帮助都会受到赞赏,因为我对Capistrano很新。
答案 0 :(得分:1)
关于你的第一个问题,“这是最好的方法吗?” :
我不认为这是最好的方法。 “测试”“开发”和“活”呃...看起来你正在部署到不同的阶段,那么我最好使用https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension
关于你的第二个问题,“如何在不必编写重复代码的情况下对多个函数运行这种语句?”:
capistrano deploy.rb只是一个ruby文件,你可以使用一种方法
def htaccess_stuff "cat #{deploy_to}test.htaccess >> #{current_path}/.htaccess" end
然后
task :set_permissions do parallel do |session| session.when "in?(:xb_test)", htaccess_stuff end