【问题标题】:have a capistrano task run for one recipe, but not the other?为一个食谱运行 capistrano 任务,而不是另一个?
【发布时间】:2012-08-01 21:25:16
【问题描述】:
我有一个先有鸡/先有蛋的情况,其中一个目录应该存在于一个 before deploy:update_code 任务中。
有什么方法可以确定 cap deploy:cold 是否是调用配方并且没有为此运行任务?但是对于所有其他人呢? (上限部署,上限部署:迁移等)
现在,我正在使用捕获来确定服务器上是否存在该目录,但如果没有必要,最好不要这样做。
TIA
【问题讨论】:
标签:
ruby-on-rails-3
capistrano
【解决方案1】:
在 deploy:update_code 任务上使用 before 挂钩会解决您的问题吗?您可以创建一个运行任务:
task :mkdir_for_update_code do
mkdir -p /path_of_dir/
end
然后添加
before 'deploy:update_code', 'deploy:mkdir_for_update_code'
根据任务所在的命名空间替换第二个变量中的部署。