php读取gitlab用户信息,[php] 用composer自动验证同时获取gitlab的私有库的方法

本篇文章的主要内容是关于用composer自动验证同时获取gitlab的私有库的方法,感兴趣的朋友可以学习一下。

近期购买了Laravel的nova以后,需要对它的核心代码做一些修改,为方便与团队其他成员分享,以及在nova官方库更新后方便对差异管理。便将nova库挂在自己的gitlab,通过composer直接引用。

gitlab上全是私有库,composer获取需要认证,在本地测试时输入用户名/密码过认证倒不打紧,生产服务器上布署就有问题了,由于是自动布署,必须是全自动才行。经过一番折腾,composer可以通过配置gitlab的Private Token完成验证,获取到私有库,不用再输用户名密码。

为方便描述操作过程。这里以官方包laravel/nova为例,我将laravel/nova放到自已的gitlab上,路径为https://git.papamk.com/xxx/nova,并设置为私有库。我们的目标是composer可以直接获取该包而不用输入密码。

配置过程

1. 生成Private Token

在gitlab上,在`User Settings`中找到`Access Tokens`,见下图:⚠️⚠️⚠️:生成的token只显示一次,记得保存下来,后面要用到。

bd3e1c947ed1dbd8c605acc61f5f5454.png

2.配置composer的认证信息

编辑~/.composer/auth.json(如果没有该文件,就直接创建)

1 { 2 "bitbucket-oauth": {}, 3 "github-oauth": {}, 4 "gitlab-oauth": { 5 }, 6 "gitlab-token": { 7 "git.papamk.com": "" 8 }, 9 "http-basic": {},10 "gitlab-domains":["git.papamk.com"]11 }

注意点:除非你使用的是gitlab.com,否则你应该将gitlab的域名添加到gitlab-domains中;

3. 编辑 composer.json

{ // ...省略其他部分

"repositories": [

{ "type": "gitlab", "url": "https://git.papamk.com/xxx/nova"

}

], "require": { // ...省略其他包

"laravel/nova": "dev-master",

}

}

重点:type:必须是gitlab

包名:官方包包名为laravel/nova,这里仍然要使用laravel/nova,不能使用xxx/nova

到此大功告成,运行下composer install或者composer udpate试试。

其他问题

有可能会出现配置正确,但是包的获取是直接从本地cache中直接读取的问题。这个时候,直接删除~/.composer/cache,再试一下即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建一个 PHP 私有,可以使用 SVN 和 Composer。下面是搭建步骤: 1. 安装 SVN 首先需要在服务器上安装 SVN。可以使用以下命令在 Ubuntu 上安装: ```shell sudo apt-get update sudo apt-get install subversion ``` 2. 创建 SVN 仓 在 SVN 中创建一个仓来存储你的 PHP 代码。可以使用以下命令创建一个名为 `myrepo` 的仓: ```shell sudo svnadmin create /var/svn/myrepo ``` 3. 配置 SVN 用户 在 SVN 中添加一个用户来访问仓。可以使用以下命令添加一个名为 `svnuser` 的用户: ```shell sudo htpasswd -cm /etc/apache2/dav_svn.passwd svnuser ``` 输入密码并确认,这将创建一个密码文件 `/etc/apache2/dav_svn.passwd`。 4. 配置 Apache 接下来,需要配置 Apache 服务器来允许访问 SVN 仓。可以使用以下命令在 Ubuntu 上安装 Apache: ```shell sudo apt-get install apache2 ``` 然后,需要启用以下两个 Apache 模块: ```shell sudo a2enmod dav sudo a2enmod dav_svn ``` 接下来,需要在 Apache 配置文件中添加以下内容: ```apache <Location /svn> DAV svn SVNParentPath /var/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user </Location> ``` 这将允许从 `http://your-domain/svn` 访问 SVN 仓。 5. 安装 Composer 安装 Composer 可以使用以下命令: ```shell curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ``` 6. 创建 Composer 包 现在可以创建一个 Composer 包并将其上传到 SVN 仓。可以使用以下命令创建一个名为 `mypackage` 的 Composer 包: ```shell composer init ``` 然后,将包上传到 SVN 仓: ```shell svn import /path/to/mypackage file:///var/svn/myrepo/trunk -m "Initial commit" ``` 7. 配置 Composer 私有 最后,需要配置 Composer 来使用私有。可以在 `composer.json` 文件中添加以下内容: ```json { "repositories": [ { "type": "vcs", "url": "http://your-domain/svn/myrepo/trunk" } ], "require": { "myvendor/mypackage": "dev-master" } } ``` 然后运行 `composer install` 命令来安装包。 现在,你已经成功地搭建了一个 PHP 私有,可以使用 SVN 和 Composer 来管理你的 PHP 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值