Tom*_*Tom 11 ruby deployment capistrano
在我的capistrano配方中,我有一个具有不同任务的命名空间:
namespace :mystuff do task :mysetup do; ... end; task :mytask1 do; ... end; task :mytask2 do; ... end; task :mycleanup do; ... end; end
这些自定义任务是通过我的食谱顶部的这样的行触发的:
after "deploy", "mystuff:mycleanup"
Run Code Online (Sandbox Code Playgroud)
我想从命名空间内执行一个普通的capistrano任务.例如,如果已经建立了一定数量的版本文件夹,我想自动触发正常的清理任务:
task :mycleanup do;
if releases.length > 50
logger.info "Too many releases, runing deploy:cleanup."
deploy:cleanup #***THIS DOESN'T WORK***
end
end;
Run Code Online (Sandbox Code Playgroud)
不幸的是,调用deploy:cleanup
在我的命名空间内不起作用.我该怎么deploy:cleanup
办?
Tom*_*Tom 16
啊哈,正确的语法是使用a .
,而不是a :
.即deploy.cleanup
,没有deploy:cleanup
.
这有效:
task :mycleanup do;
if releases.length > 50
logger.info "Too many releases, runing deploy:cleanup."
deploy.cleanup
end
end;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4892 次 |
最近记录: |