为一个配方运行capistrano任务,但不为另一个运行



我遇到了一个鸡/蛋的情况,该目录应该存在于部署前:update_code任务中。

有没有任何方法可以确定cap-deploy:cold是否是调用配方,并且不为此运行任务?但对于所有其他人来说?(cap-deploy,cap-deploy:迁移,不管怎样)

现在,我正在使用捕获来确定服务器上是否存在该目录,但如果没有必要,最好不必这样做。

TIA

您的问题会通过在deploy:update_code任务上使用beforehook来解决吗?你可以创建一个运行的任务:

task :mkdir_for_update_code do
    mkdir -p /path_of_dir/
end

然后添加

before 'deploy:update_code', 'deploy:mkdir_for_update_code' 

根据任务所在的命名空间替换第二个变量中的deploy。

最新更新