基於satis搭建私有composer倉庫
阿新 • • 發佈:2018-11-08
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下,會發下我們的私有包出現在新工程了