版权声明:原创文章,转载声明出处 https://blog.csdn.net/weixin_43183475/article/details/82631197
what`s satis
Satis 是一个静态的 composer 代码库生成器。
安装satis
cd /www/
composer create-project composer/satis --stability=dev --keep-vcs
mv satis packages.your.com
cd packages.your.com
配置satis
satis的配置是通过satis.json进行的,我们在当前目录新建一个satis.json。
{
"name": "Test Repository",
"homepage": "packages.your.com",
"repositories": [
{"type": "vcs", "url": "http://gitlab.your.com/test/package1.git"},
{"type": "vcs", "url": "http://gitlab.your.com/test/package2.git"},
],
"require": {
"test/package1": "*",
"test/package1": "*",
}
}
- name:仓库的名字,可以随便定义
- homepage:仓库建立之后的的主页地址
- repositories:指定去哪获取包,url中需要带.git
- require:指定获取哪些包,如果想获取所有包,使用require-all: true,
生成
php satis/bin/satis build
我们生成的时候一般会生成html和paceages.json文件
php satis/bin/satis build satis.json public/
nginx配置
server {
listen 80;
server_name packages.your.com;
root /www/packages.your.com/public;
}
访问
http://satis.mifengkong.cn/
(记得域名指向nginx的ip哟)
使用
假设我们前面 repositories 中 http://gitlab.your.com/test/package1.git test/package1 的composer.json 如下:
{
"name": "test/package1",
"description": "测试",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "wangyu",
"email": "[email protected]"
}
],
"minimum-stability": "dev",
"require": {
"php": ">=7.0"
},
"autoload": {
"psr-4": {
"Test\\": "src/"
}
}
}
我们新的工程需要安装这个包,只需在新工程的composer.json中修改下:
"repositories": [
{ "type": "composer", "url": "http://satis.mifengkong.cn/" }
],
"require": {
"test/package1": "*"
}
"config": {
"secure-http": false
}
- repositories 我们仓库的地址
- require中加入我们上面的包
- config中secure-http设置false 允许http
composer install下,会发下我们的私有包出现在新工程了