我有一個部署過程,將代碼檢入到git存儲庫中,並通過Web掛鉤在生產服務器上運行部署腳本。在該服務器上,我使用ssh和.pem鍵連接到git,從git中拉出,npm install,構建webpack並重新啓動服務進程。當我通過ssh從git進行部署時,應該如何處理package-lock.json?
我從不打算從prod服務器提交任何內容 - 它們應該能夠自動部署。但是,這是行不通的,因爲在我運行npm install
時,package-lock.json
文件經常更新,所以下次我部署時,git pull
步驟失敗,說我與現有的package-lock.json
文件衝突,因爲它有未提交的更改。
我目前的解決方案是.gitignore package-lock.json文件。但是這樣就會失去它的目的,提供與我的開發機器上的版本完全相同的版本。
什麼是正確的方式來處理package-lock.json
?
你能否說一下爲什麼#1是「不好」?尤其是當構建的可重複性非常重要時,並且包鎖不鎖定。 – eflat