使用 satis 结合 gitlab 搭建 composer 私有包仓库

使用 satis 结合 gitlab 搭建 composer 私有包仓库

环境

centos 7.3
composer
gitlab
nginx

使用 安装 satis

composer create-project composer/satis --keep-vcs

配置 satis.json

{
    "name": "tuzuu",
    "homepage": "http://packages.pandamonk.com",
    "repositories": [
        { "type": "git", "url": "http://git.pandamonk.com/pandamonk/test.git" }
    ],
    "require-all": false,
    "require-dependencies": true,
    "require-dev-dependencies": true,
    "require": {
        "pandamonk/hello": "*"
    },
    "archive": {
        "directory": "dist",
        "format": "zip",
        "skip-dev": true
    },
    "config": {
        "secure-http": false
    }
}
* homepage
私有 composer 包管理的 url地址
* repositories
需要被索引的git代码仓库地址 这里引用的是 gitlab 的 地址
* require
需要被索引的包, 这里明确写明 可以减少 索引的内容
* require-all
这里如果不配置为 false 的话, 会索引全部的composer包(https://packagist.org/)

创建 索引

php bin/satis build satis.json ./web -v #-v参数可以看到被索引的包

定时更新

crontab 执行 创建索引命令

使用 docker 搭建 nginx 环境, 访问 satis 的composer 本地私有库

// 临时关闭 selinux, 否则 docker 在挂载 volume 是会有文件权限问题
setenforce 0
// 拉取 nginx 镜像
docker pull nginx
// 拷贝nginx 镜像中的 默认的 nginx 部分配置文件
docker run --name tmp-nginx-container -d nginx
docker cp tmp-nginx-container:/etc/nginx/conf.d/ /etc/nginx/conf.d/
docker rm -f tmp-nginx-container
// 修改 conf.d/default.conf 文件 的 server_name 值为 satis.json 中 homepage 的值
server_name packages.pandamonk.com;
// 开启 nginx 镜像
docker run --name nginx --restart always -p :80:80 -v /root/test/my-satis/web:/usr/share/nginx/html:ro -v /etc/nginx/conf.d/:/etc/nginx/conf.d/ -d nginx
-v /root/test/my-satis/web:/usr/share/nginx/html:ro 挂载 satis 生成的静态文件
-v /etc/nginx/conf.d/:/etc/nginx/conf.d/ nginx 的 vhost 文件目录
// 大功告成 浏览器 访问
http://packages.pandamonk.com

使用 satis 的 composer 私有包

Add this Satis repository to your composer.json
{
    "repositories": [{
        "type": "composer",
        "url": "http://packages.pandamonk.com"
    }]
}
composer require pandamonk/hello
or composer install
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值