Composer 自建私有仓库 设置访问权限问题

Ping
  • 161

我们公司目前项目是基于 Laravel 开发的,目前git里没有追中vendor目录,每次更新服务器会在服务器上pull完 composer install新的依赖。

现在我们除了web端,会增加app端,为了保持业务代码干净清晰,准备单独开一个新的项目写,因为web端和app端会有蛮多重复业务,准备把一些模块打包,用composer统一分发安装。

所以会牵扯到私有仓库了,在网上查了后,发现satis可以搭建本地仓库,但有个问题,satis build完后是静态目录,貌似没有办法限制做身份验证,如果我把仓库暴露在公网,那么知道地址的人可以随意require里面的包了,无法保证安全。

我这边考虑过的方法:

架设一个专门的服务器左右仓库服务器,设置IP访问白名单。
此方法虽然可以控制访问权限,但有时候由于自动伸缩策略,由AWS自行拉起一台新的服务器,此时IP不确定,会导致无法install我们的私有包

追踪vendor目录
只在本地安装需要的包,上传vendor目录到git,服务器只管pull就好。
此方法虽然可以解决问题,但由于团队各个开发水平不一,可能会导致lock文件和vendor内容不一致,更甚者,直接修改vendor里包的代码,然后别人一个update,代码直接跪了。还是有很多风险,也不够优雅。

特此来请教, 有什么好的解决办法嘛?

回复
阅读 1.4k
1 个回答

搞定了, fork了一份satis,换成单一文件入口,所有流量倒入php,然后用basic http auth验证身份,每人单独账户控制下载权限。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏