使用rake
构建文件时,构建系统足够智能,可以判断是否需要实际运行task
,例如该文件已存在且依赖关系不是最近的。
是否有跳过其他任务的标准方法?我在想一些可能像
的东西task :containers do
sh "docker-composer up"
end
# the following doesn't exist
task :containers, if: `docker ps | grep mycontainer`.empty?
答案 0 :(得分:2)
您可以使用next
关键字"跳过"任何你想要的任务,例如
task :containers do
next if `docker ps | grep mycontainer`.empty?
sh "docker-composer up"
end
并且不会中断队列中其他任务的流程。
或者,您可以将任务代码包装在任务定义中的if
语句中,如果条件失败,可能会打印出来。