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