当前位置: 首页 > 工具软件 > Satis > 使用案例 >

基于satis搭建私有composer仓库

姬弘文
2023-12-01

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.xxxx.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": "123445678@qq.com"
        }
    ],
    "minimum-stability": "dev",
    "require": {
        "php": ">=7.0"
    },
    "autoload": {
        "psr-4": {
            "Test\\": "src/"
        }
    }
}

我们新的工程需要安装这个包,只需在新工程的composer.json中修改下:

"repositories": [ 
    { "type": "composer", "url": "http://satis.xxxx.cn/" } 
], 
"require": { 
    "test/package1": "*"
}
"config": {
    "secure-http": false
}
  • repositories 我们仓库的地址
  • require中加入我们上面的包
  • config中secure-http设置false 允许http

composer install下,会发下我们的私有包出现在新工程了

 类似资料: