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