摘要:可以使用來做,也是作者開發(fā)的,可靠性也有保證。不管怎樣,總會遇到很多不僅僅一個需要的,這個具有公用性的就可以做成一個放在公司內(nèi)部搭建的鏡像上,這也極大提高整體的開發(fā)效率。
隨著業(yè)務越來越復雜,有些service具有通用性,即Repo A中的某一service其他的幾個Repo都會不同程度的需要,如果能把該service作為一個獨立的package,這樣其他的Repo可以composer安裝這個package,這會避免寫多余和重復的代碼。
舉個例子:假設一個產(chǎn)品有100個tables,后端API Repo的Model邏輯封裝了很多CRUD邏輯,Model Event邏輯,Model Policy邏輯,Model Cache邏輯,Eloquent擴展邏輯,甚至包括字段加密邏輯等等。而后臺管理Admin Repo也同樣不同程度的操作這100tables,定時作業(yè)Cron Repo也同樣不同程度的操作這100tables,它們都需要API Repo的Model代碼。所以可以把Model代碼抽離出來作為一個private package,有其他Repo需要可以composer安裝這個private package。
可以使用Toran Proxy來做Composer Proxy,Toran Proxy也是composer作者開發(fā)的,可靠性也有保證??梢栽赥oran 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協(xié)議而不是https協(xié)議,composer默認走的是https協(xié)議,這里僅供說明設置false,盡管應該按照默認的https協(xié)議。
然后在搭建的toran proxy中添加私有的package就行,這里第二個repo是存放在私有的Bitbucket Server上:
總的來說,就是在私有的服務器上搭建一個packagist鏡像,把內(nèi)部的一些service拆分打包成一些公用的package,這些package不適宜暴露,代碼可以放在Bitbucket Server或Github Private Repository或Gitlab Server,composer安裝這些private package時,會從私有代碼倉庫如Bitbucket Server中拉取代碼并打包成zip包,存放在你安裝的private packagist服務器上供下載安裝;如果安裝網(wǎng)絡上public package如symfony/http-kernel時依然從github上拉取代碼并打包成zip包存放在你的private packagist服務器上。這樣會使得下次下載同樣的package時速度會提高,這和平時通過packagist中國鏡像下載public package時速度很快同樣道理。
不管怎樣,總會遇到很多service不僅僅一個Repo需要的,這個具有公用性的service就可以做成一個private package放在公司內(nèi)部搭建的private packagist鏡像上,這也極大提高整體的開發(fā)效率。
沒人愿意浪費時間去寫重復的service的,這個工具可以幫助解決這個問題。
RightCapital招聘Laravel DevOps
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/22046.html
摘要:放入如下兩個文件自己的 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 ...
摘要:放入如下兩個文件自己的 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 ...
摘要:我是一名程序員,想學習一下這個的框架。我現(xiàn)在把這個學習過程記錄下來。首先是安裝環(huán)境,要先使用框架之前,必須要先安裝的開發(fā)環(huán)境。最后我用下面這條命令來安裝。安裝是界用來管理包的,相當于中的。這樣,整個開發(fā)環(huán)境搭建完畢。 我是一名ruby on rails程序員,想學習一下laravel這個php的web mvc框架。 我手頭上有一臺macbook。 我現(xiàn)在把這個學習過程記錄下來。 首先是...
摘要:近期在閑暇之余開啟了學習之路,特地去感受那份優(yōu)雅。本文更多的目的為了做一些學習中的相關記錄,并且選擇自認為的最佳實踐。本人主力工作環(huán)境是,在裸下走一遍流程能熟悉相關依賴,更清晰認識環(huán)境搭建本質。 近期在閑暇之余開啟了 Laravel 學習之路,特地去感受那份優(yōu)雅。正所謂萬丈高樓平地起,環(huán)境的搭建乃是學習任何一個框架甚至任何一門語言最重要的起點。本文更多的目的為了做一些學習中的相關記錄,...
閱讀 2291·2021-11-22 15:29
閱讀 4141·2021-11-04 16:13
閱讀 1019·2019-08-29 16:58
閱讀 359·2019-08-29 16:08
閱讀 1500·2019-08-23 17:56
閱讀 2422·2019-08-23 17:06
閱讀 3189·2019-08-23 16:55
閱讀 2086·2019-08-23 16:22