我不知道什麼標籤把這個:並行構建/部署
我有多種方案,輸出多個應用程序的Xcode項目。我有一個腳本archive_all.sh
,通過調用archive.sh
來設置每個應用程序(目前13個)的構建和部署(到TestFlight)。我嘗試過(愚蠢的我):sh archive.sh &
在循環中,但我的筆記本電腦很難處理,我打算將來有超過13個應用程序部署。
有沒有辦法,最好在shell腳本中設置一個可執行的隊列來調用?我的筆記本電腦一次可以處理3-4個電話到archive.sh
。
我不知道什麼標籤把這個:並行構建/部署
我有多種方案,輸出多個應用程序的Xcode項目。我有一個腳本archive_all.sh
,通過調用archive.sh
來設置每個應用程序(目前13個)的構建和部署(到TestFlight)。我嘗試過(愚蠢的我):sh archive.sh &
在循環中,但我的筆記本電腦很難處理,我打算將來有超過13個應用程序部署。
有沒有辦法,最好在shell腳本中設置一個可執行的隊列來調用?我的筆記本電腦一次可以處理3-4個電話到archive.sh
。
嘗試ppss它支持Linux和Mac OS X.它將自動檢測CPU中的內核數量並在這些內核上高效地執行任務。
GNU Parallel是爲這類工作而設計的。
parallel archive.sh {} ::: app1 app2 ... app15
這將爲每個應用程序運行一個CPU核心的archive.sh
。
GNU Parallel是一個通用的並行程序,可以很容易地在同一臺機器上或在您擁有ssh訪問權限的多臺機器上並行運行作業。
如果你想在4個CPU上運行32個不同的工作崗位,並行化直接的方式是在每個CPU上運行8個作業:
GNU並行,而不是產生一個新的進程時,一個完成 - 保持CPU的活躍,從而節省了時間:
安裝
如果您的發行版沒有打包GNU Parallel,則可以執行個人安裝,但不需要root訪問權限。它可以在10秒內通過這樣來完成:
(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash
對於其他安裝選項見http://git.savannah.gnu.org/cgit/parallel.git/tree/README
瞭解更多
查看更多的例子:http://www.gnu.org/software/parallel/man.html
觀看介紹視頻: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
走過t他教程:http://www.gnu.org/software/parallel/parallel_tutorial.html
註冊以獲得支持的電子郵件列表:https://lists.gnu.org/mailman/listinfo/parallel