2016-10-07 25 views
0

當使用rake構建文件時,構建系統足夠智能,可以判斷是否需要實際運行task(例如,該文件已經存在,並且依賴關係不是最近的。如何「跳過」耙中的任務

有沒有標準的方法來跳過其他任務?我在想的東西也許像

task :containers do 
    sh "docker-composer up" 
end 

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

回答

1

可以使用next關鍵字任務的「跳過了」只要你想,例如

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

並且不會中斷隊列中其他任務的流程。

或者,您可以將任務代碼封裝在任務定義中的if語句中,並且可能會在條件失敗時打印出來。