2015-06-18 53 views
2

我有一個Neos項目,由一個提供主Composer容器的站點組成。 composer.json需要大量的包(整個neos /流環境),包括我們開發的一些包。構建過程中自動更新composer.lock

我們的部署設置包含Jenkins,爲站點和插件包(僅在其特定的gits中)構建css/javascript,最後觸發TYPO3 Surf,其實際調用composer install然後rsync到服務器。

現在,我們希望在我們的Dev分支的一些變化將被部署到測試環境中的每個時刻,我們必須手動cd到主作曲家目錄,做一個

composer update vendor/package && git add composer.lock && git commit -m "update composer.lock"`. 

反正總是使用Composer的最新版插件包?也許不包括composer.lock的要求,或者只是在不安裝實際包的情況下更改它。

回答

0

對於持續部署到測試服務器,你可以只讓詹金斯做composer update,並與你的包在composer.json設置爲dev/master

+1

您也可以爲測試服務器執行'composer update your/package'。 – ChristianM

+0

'composer update my/package'方法的問題是在何處放置構建過程。三個Jenkins進程正在運行:第一個進程訪問站點(因此主要的作曲者定義,包括插件,但也是整個Neos的東西),然後運行grunt。第二個對插件也一樣。第三個觸發Surf執行實際部署。如果我在第一個作業中運行'composer update my/package',composer將不必要地讀取所有依賴關係。我想避免這種開銷,可能只是在這裏更新composer.lock。 –

相關問題