2013-07-18 66 views
1

我正在使用Jenkins CI作爲我的django項目。對於Django-Jenkins集成,我使用的是django-jenkins應用程序。在Jenkins的構建步驟中,我創建一個新的virtualenv並使用需求文件安裝每個構建的所有依賴關係。但是,這會使構建非常緩慢,因爲必須從PyPI鏡像中下載所有依賴項的全新副本,即使自上次構建以來依賴項中沒有任何更改。所以我開始使用內置的本地緩存來設置PIP_DOWNLOAD_CACHE環境變量。但整個構建過程仍然非常緩慢,需要超過10分鐘。有什麼辦法可以加速整個過程?也許通過緩存編譯的依賴關係或其他東西?如何在使用pip安裝需求時加速jenkins構建過程

回答

0

爲什麼每次構建時都會創建一個新的virtualenv?你應該只能創建一個,並且只需要使用. /path/to/venv/bin/activate作爲'執行shell腳本'構建步驟(假設在這裏使用linux)來激活它。然後,如果您需要安裝新的依賴項,您可以自行激活venv,並安裝新的軟件包。

0

只要您的requirements.txt文件更改,只需安裝新的virtualenv。這可以通過一些shell命令輕鬆完成。我們正在做一些類似的項目。在Jenkins外殼窗口中,我們有(在svn之後):

touch changed.txt 
stat -c %Y project/requirements.txt > changed1.txt 
diff -q changed.txt changed1.txt || echo "DO YOUR PIP --upgrade HERE!"