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

我们公司目前项目是基于 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,代码直接跪了。还是有很多风险,也不够优雅。

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


翻翻过去那场雪
浏览 1471回答 2
2回答

慕村9548890

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

富国沪深

搞定了, fork了一份satis,换成单一文件入口,所有流量倒入php,然后用basic http auth验证身份,每人单独账户控制下载权限。
打开App,查看更多内容
随时随地看视频慕课网APP