内容简介:如何安装托管在私有 GitLab 实例上的 composer 包?
一般来说开源的 PHP 包都会放在 packagist.org , Composer 直接安装就行
私有包有以下几种安装方式
- 在 packagist.com 购买付费服务, 不用自己维护, 省心
- 搭建 Satis 实例, 相当于搭建了私有的 packagist.org, 需要自己维护服务器
- 购买了 GitHub 企业版 , 将包托管在企业版上
- 搭建 GitLab 社区版 实例, 将包托管在这上面
可以根据各自情况选择合适的方案, 笔者在这篇文章中只讲解如何安装托管在私有 GitLab 实例上的包
环境信息
-
假设私有 GitLab 实例网址为
http://git.demo.com
-
要安装的包名为
demo/fly
配置 composer 以使用 GitLab API
因为网络原因, 项目里一般会把 vendor 目录也加入版本管理, 某个依赖如果有 .git
目录会造成依赖不会被加入到 git 中
Composer 支持使用 --prefer-dist
参数, 只下载相应的 zip 包, 不 clone 源码, 这样下载下来的依赖不会带有 .git
目录
但只有在使用 GitLab API 的前提下, --prefer-dist
参数才会生效, 否则下载下来的依赖还是会带有 .git
目录
修改 composer 全局 config
-
文件路径:
~/.composer/config.json
-
因为 git.demo.com 使用 HTTP 协议, 所以
secure-http
要设为false
-
设置
gitlab-domains
, 告诉 Composer 相应的域名可以使用 GitLab API
内容修改为如下
{ "config": { "secure-http": false, "gitlab-domains": [ "git.demo.com" ] } }
修改 composer 全局用户认证信息
-
文件路径:
~/.composer/auth.json
- 设置 token 后, 才有权限访问 GitLab API
去 http://git.demo.com/profile/personal_access_tokens
新建一个 personal access token
内容修改为如下
{ "gitlab-token": { "git.demo.com": "your person access token in git.demo.com" } }
安装步骤
以 demo/fly
为例
添加 repository
修改 composer.json
, 添加如下代码
"repositories": [ { "type": "vcs", "url": "http://git.demo.com/demo/fly.git" } ],
告诉 composer 去哪找 demo/fly
依赖
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Erlang私有函数的私有程度如何?
- JavaScript 新语法详解:Class 的私有属性与私有方法
- 实战maven私有仓库三部曲之二:上传到私有仓库
- 实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
- 项目招标 中国移动廊坊私有云资源池SDN系统集采开启,进一步私有云池扩容
- docker私有仓库搭建
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。