我有一个部署过程,将代码检入到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