2012-01-12 95 views
0

我不知道什麼標籤把這個:並行構建/部署

我有多種方案,輸出多個應用程序的Xcode項目。我有一個腳本archive_all.sh,通過調用archive.sh來設置每個應用程序(目前13個)的構建和部署(到TestFlight)。我嘗試過(愚蠢的我):sh archive.sh &在循環中,但我的筆記本電腦很難處理,我打算將來有超過13個應用程序部署。

有沒有辦法,最好在shell腳本中設置一個可執行的隊列來調用?我的筆記本電腦一次可以處理3-4個電話到archive.sh

回答

1

嘗試ppss它支持Linux和Mac OS X.它將自動檢測CPU中的內核數量並在這些內核上高效地執行任務。

0

GNU Parallel是爲這類工作而設計的。

parallel archive.sh {} ::: app1 app2 ... app15 

這將爲每個應用程序運行一個CPU核心的archive.sh

GNU Parallel是一個通用的並行程序,可以很容易地在同一臺機器上或在您擁有ssh訪問權限的多臺機器上並行運行作業。

如果你想在4個CPU上運行32個不同的工作崗位,並行化直接的方式是在每個CPU上運行8個作業:

Simple scheduling

GNU並行,而不是產生一個新的進程時,一個完成 - 保持CPU的活躍,從而節省了時間:

GNU Parallel scheduling

安裝

如果您的發行版沒有打包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