使用 satis 搭建一个私有的 Composer 包仓库
使用 satis 搭建一个私有的 Composer 包仓库
搭建缘由
因为国内使用composer的时候,基本上都是用的镜像源,在开发包的时候,完成之后需要进行安装,就会出现一个同步时间差问题,等不及了,就可以先用自己的私有库顶住。当然,有些不公开的包就更需要一个私有的composer仓库了
说动手就动手,看了官方文档,提供了好几种自建方法,我这里只是选择了satis,因为比较简单,哈哈哈
源码安装
安装
1 | composer create-project composer/satis --stability=dev --keep-vcs |
安装完成,会出现一个satis目录
配置
satis的配置是通过satis.json进行的,我们在当前目录新建一个satis.json
1 | { |
参数说明
- name : 仓库的名字,自己定义
- homepage :仓库的主页地址
- repositories :需要获取包的路径
- requre : 指定获取哪些包(require-all:true 代表获取所有包)
archive :缓存文件
我们并不希望每次都clone,其实我们也可以缓存在我们的仓库中,这样每次update的时候就只用下载了
- directory: 必需要的,表示生成的压缩包存放的目录,会在我们build时的目录中
- format: 压缩包格式, zip(默认) tar
- prefix-url: 下载链接的前缀的Url,默认会从homepage中取
- skip-dev: 默认为假,是否跳过开发分支
- absolute-directory: 绝对目录
- whitelist: 白名单,只下载哪些
- blacklist: 黑名单,不下载哪些
- checksum: 可选,是否验证sha1
生成
1 | php bin/satis build satis.json public/ |
执行命令,会生成包的缓存与web应用
web访问
配置nginx指向刚刚生成的public就好了
然后打开上面配置的homepage,看到如下就代表成功啦
使用
我们只需要在项目中,添加本源即可
1 | { |
然后就可以开开心心的composer update
了
docker安装
镜像拉取
1 | docker pull composer/satis |
ps 吐槽。pull的也太慢了吧,以后再尝试了,todo
satis.json详细说明
1 | { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lihq - Blog!
评论