如何在rake中“跳过”任务

时间:2016-10-07 15:04:32

标签: ruby rake

使用rake构建文件时,构建系统足够智能,可以判断是否需要实际运行task,例如该文件已存在且依赖关系不是最近的。

是否有跳过其他任务的标准方法?我在想一些可能像

的东西
task :containers do
  sh "docker-composer up"
end

# the following doesn't exist
task :containers, if: `docker ps | grep mycontainer`.empty?

1 个答案:

答案 0 :(得分:2)

您可以使用next关键字"跳过"任何你想要的任务,例如

task :containers do
  next if `docker ps | grep mycontainer`.empty?
  sh "docker-composer up"
end

并且不会中断队列中其他任务的流程。

或者,您可以将任务代码包装在任务定义中的if语句中,如果条件失败,可能会打印出来。