资讯专栏INFORMATION COLUMN

Laravel 学习笔记之 Toran Proxy 搭建私有Packagist镜像

senntyou / 1985人阅读

摘要:可以使用来做,也是作者开发的,可靠性也有保证。不管怎样,总会遇到很多不仅仅一个需要的,这个具有公用性的就可以做成一个放在公司内部搭建的镜像上,这也极大提高整体的开发效率。

随着业务越来越复杂,有些service具有通用性,即Repo A中的某一service其他的几个Repo都会不同程度的需要,如果能把该service作为一个独立的package,这样其他的Repo可以composer安装这个package,这会避免写多余和重复的代码。

举个例子:假设一个产品有100个tables,后端API Repo的Model逻辑封装了很多CRUD逻辑,Model Event逻辑,Model Policy逻辑,Model Cache逻辑,Eloquent扩展逻辑,甚至包括字段加密逻辑等等。而后台管理Admin Repo也同样不同程度的操作这100tables,定时作业Cron Repo也同样不同程度的操作这100tables,它们都需要API Repo的Model代码。所以可以把Model代码抽离出来作为一个private package,有其他Repo需要可以composer安装这个private package。

可以使用Toran Proxy来做Composer Proxy,Toran Proxy也是composer作者开发的,可靠性也有保证。可以在Toran Proxy Download下载安装该服务,安装过程比较简单。如可以在AWS服务器上安装好Toran Proxy后打开主页,按照提示设置下本地的composer配置文件~/.composer/config.json,如个人在本地安装后需要在config.json中按照提示的设置如下:

{
    "config": {
        "secure-http": false
        },
    "repositories": [
        {
                "type": "composer",
                "url": "http://toran.app:8888/repo/private/"
        },
        {
                "type": "composer",
                "url": "http://toran.app:8888/repo/packagist/"
        },
       {                
            "packagist": false
       }
    ]
}

这里"secure-http": false设置为false是因为http://toran.app:8888/是http协议而不是https协议,composer默认走的是https协议,这里仅供说明设置false,尽管应该按照默认的https协议。

然后在搭建的toran proxy中添加私有的package就行,这里第二个repo是存放在私有的Bitbucket Server上:

总的来说,就是在私有的服务器上搭建一个packagist镜像,把内部的一些service拆分打包成一些公用的package,这些package不适宜暴露,代码可以放在Bitbucket Server或Github Private Repository或Gitlab Server,composer安装这些private package时,会从私有代码仓库如Bitbucket Server中拉取代码并打包成zip包,存放在你安装的private packagist服务器上供下载安装;如果安装网络上public package如symfony/http-kernel时依然从github上拉取代码并打包成zip包存放在你的private packagist服务器上。这样会使得下次下载同样的package时速度会提高,这和平时通过packagist中国镜像下载public package时速度很快同样道理。

不管怎样,总会遇到很多service不仅仅一个Repo需要的,这个具有公用性的service就可以做成一个private package放在公司内部搭建的private packagist镜像上,这也极大提高整体的开发效率。

没人愿意浪费时间去写重复的service的,这个工具可以帮助解决这个问题。

RightCapital招聘Laravel DevOps

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22046.html

相关文章

  • 搭建私有的Composer仓库

    摘要:放入如下两个文件自己的 mkdir -p ~/docker-app/toran-proxy/datacd ~/docker-app/toran-proxy;放入如下两个文件docker-compose up -d docker-compose.yml version: 2 services: toran-proxy: image: cedvan/toran-proxy ...

    jsbintask 评论0 收藏0
  • 搭建私有的Composer仓库

    摘要:放入如下两个文件自己的 mkdir -p ~/docker-app/toran-proxy/datacd ~/docker-app/toran-proxy;放入如下两个文件docker-compose up -d docker-compose.yml version: 2 services: toran-proxy: image: cedvan/toran-proxy ...

    ZweiZhao 评论0 收藏0
  • Ruby 程序员学习 laravel 框架笔记 (1)-php 开发环境安装

    摘要:我是一名程序员,想学习一下这个的框架。我现在把这个学习过程记录下来。首先是安装环境,要先使用框架之前,必须要先安装的开发环境。最后我用下面这条命令来安装。安装是界用来管理包的,相当于中的。这样,整个开发环境搭建完毕。 我是一名ruby on rails程序员,想学习一下laravel这个php的web mvc框架。 我手头上有一台macbook。 我现在把这个学习过程记录下来。 首先是...

    sugarmo 评论0 收藏0
  • 3分钟在Linux(Deepin)下跑起Laravel

    摘要:近期在闲暇之余开启了学习之路,特地去感受那份优雅。本文更多的目的为了做一些学习中的相关记录,并且选择自认为的最佳实践。本人主力工作环境是,在裸下走一遍流程能熟悉相关依赖,更清晰认识环境搭建本质。 近期在闲暇之余开启了 Laravel 学习之路,特地去感受那份优雅。正所谓万丈高楼平地起,环境的搭建乃是学习任何一个框架甚至任何一门语言最重要的起点。本文更多的目的为了做一些学习中的相关记录,...

    hightopo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<