摘要:假設(shè)同一個(gè)包有多個(gè)開發(fā)人員則將其他人員設(shè)置為組成員,在同一臺(tái)跳板機(jī)上部署項(xiàng)目,并且設(shè)置項(xiàng)目的為。這樣在開發(fā)環(huán)境中通過登陸來判斷權(quán)限。在跳板機(jī)上則通過添加該機(jī)器的公鑰到來判斷權(quán)限這樣就算其他人有倉庫地址也不能拉到代碼,目的基本達(dá)成。
建立目的
為了不讓代碼公開,能夠讓項(xiàng)目基于gitlab快速自動(dòng)化部署,簡化單個(gè)composer.json文件配置內(nèi)容
安裝 使用composercomposer create-project composer/satis --keep-vcs
安裝完之后與github中的目錄結(jié)構(gòu)一致
配置satis.json接著在項(xiàng)目根目錄下創(chuàng)建satis.json文件
{ "name": "satis packages", "homepage": "http://satis.example.com", "repositories": [ { "type": "git", "url": "ssh://[email protected]/tim/test.git" } ], "require":{ "tim/test":"dev-master" } }
homepage
在satis上顯示的默認(rèn)私有鏡像地址
repositories
需要被索引的git代碼倉庫地址
require
明確定義包名可以減少索引內(nèi)容,s中使用require-all經(jīng)過測試發(fā)現(xiàn)會(huì)索引全網(wǎng)的php包
接下來對鏡像中的packages創(chuàng)建索引
php bin/satis build satis.json ./web -v #-v參數(shù)可以看到被索引的包使用docker
pull image
git pull composer/satis
在build目錄下創(chuàng)建satis.json文件之后運(yùn)行
docker run --rm -it -v /build:/build composer/satis
上面這條命令的作用與bin/satis命令一樣,都是創(chuàng)建索引
自動(dòng)更新使用crontab執(zhí)行創(chuàng)建索引命令,時(shí)間間隔看具體情況
訪問web界面配置nginx將root指向索引輸出目錄
訪問域名之后可以看到如下界面
在配置satis.json中看到repositories的定義是使用ssh://協(xié)議
目的在于方便管理項(xiàng)目成員開發(fā)以及項(xiàng)目部署中的權(quán)限。
假設(shè)同一個(gè)包有多個(gè)開發(fā)人員則將其他人員設(shè)置為組成員,在同一臺(tái)跳板機(jī)上部署項(xiàng)目,并且設(shè)置項(xiàng)目的Visibility Level為Internal。
這樣在開發(fā)環(huán)境中通過登陸gitlab來判斷權(quán)限。
在跳板機(jī)上則通過添加該機(jī)器的公鑰到deploy keys來判斷權(quán)限
這樣就算其他人有倉庫地址也不能拉到代碼,目的基本達(dá)成。
使用私有鏡像中的包建立項(xiàng)目創(chuàng)建一個(gè)目錄,再創(chuàng)建一個(gè)composer.json文件,依賴添加剛剛創(chuàng)建的包
{ "repositories": [ { "type": "composer", "url": "http://satis.example.com" } ], "config": { "secure-http": false }, "require": { "tim/test": "dev-master" } }
secure-http設(shè)置為false是因?yàn)閟atis默認(rèn)為https
repositories是為了告訴composer鏡像源不僅僅只有packagist.org,還包括了剛剛我們設(shè)置的私有鏡像
這些配置可以多帶帶在每個(gè)composer.json文件中設(shè)置,也可以像下面這樣(全局加 -g )配置
composer config secure-http false composer config repo.packagist composer http://satis.example.com
創(chuàng)建完之后composer install(忽略域名于之前配置的不同,這是我本地域名,但是已經(jīng)弄完了懶得改)
最后附上tim/test包的composer.json
{ "name": "tim/test", "authors": [ { "name": "tim", "email": "[email protected]" } ], "require":{ "monolog/monolog":"1.0.*" } }參考
Handling private packages
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22440.html
摘要:此時(shí)我們就需要一個(gè)工具,能夠搭建私有源,里面都是私有倉庫,對內(nèi)不對外。就是官方提供的建立私有源的工具。在其它項(xiàng)目中使用私有源只需要在項(xiàng)目的文件的根上添加倉庫地址之后再通過或者想要的倉庫就可以了。 現(xiàn)在我們常用 Composer 進(jìn)行依賴管理。和其它語言的包管理工具一樣,Composer 使用 GitHub 托管代碼,可以根據(jù)配置文件管理依賴,也可以建立各種腳本,執(zhí)行特定任務(wù)??傊锰幒?..
摘要:說明服務(wù)器環(huán)境代碼管理平臺(tái)碼云文章中盡量以一個(gè)真實(shí)的情況來撰寫,但是文章的倉庫地址,網(wǎng)頁地址均是不可訪問的,用虛擬信息替換了真實(shí)信息。比如碼云,是收費(fèi)的,對于一個(gè)公司來說費(fèi)用不高,但是加上以上兩點(diǎn)原因后,所以未選擇。 簡述 iBrand 產(chǎn)品立項(xiàng)時(shí)是商業(yè)性質(zhì)的項(xiàng)目,但是在搭建架構(gòu)時(shí)考慮后續(xù)的通用性,因此每個(gè)模塊都設(shè)計(jì)成一個(gè) Package,作為公司內(nèi)部用,因此這些包并不能提交到 pac...
摘要:安裝包添加配置文件添加類似如下內(nèi)容配置文件詳解倉庫名字主頁地址包所在地址指定獲取哪些包及對應(yīng)的版本,獲取所有包使用,與包中中的名稱相同,不同會(huì)出現(xiàn)問題必需要的,表示生成的壓縮包存放的目錄,會(huì)在時(shí)的目錄中壓縮包格式默認(rèn)和 安裝satis包 cd /home/wwwroot/ composer create-project composer/satis --stability=dev -...
摘要:曾今誰都有過迷茫期,下面是我開始開發(fā)中,不斷改變的代碼組織方式。 曾今 誰都有過迷茫期,下面是我開始PHP開發(fā)中,不斷改變的代碼組織方式。 初期:所有代碼一股腦控制器controller 曾今只是簡單的理解MVC 中期:業(yè)務(wù)代碼抽象一部分到模型層model 開始覺得model層是否該做點(diǎn)什么了 后期:業(yè)務(wù)代碼控制器,模型層只寫db的curd方法 復(fù)雜的業(yè)務(wù)代碼使contro...
摘要:如果需要定時(shí)更新,則需要配置定時(shí)任務(wù)去定時(shí)更新設(shè)置本地倉庫設(shè)置虛擬主機(jī)使用本地倉庫中的包文件中添加以下拉取,即可獲取本地庫了如果本地倉庫不存在且有網(wǎng)絡(luò)會(huì)去網(wǎng)絡(luò)中獲取。 環(huán)境 windows nginx php composer 安裝 拉取 satis 項(xiàng)目包,并拉取項(xiàng)目依賴 composer create-project composer/satis --stability=de...
閱讀 2540·2021-10-12 10:12
閱讀 1720·2019-08-30 15:52
閱讀 2455·2019-08-30 13:04
閱讀 1745·2019-08-29 18:33
閱讀 969·2019-08-29 16:28
閱讀 456·2019-08-29 12:33
閱讀 2065·2019-08-26 13:33
閱讀 2368·2019-08-26 11:36