這篇文章的主要內容是關於用composer自動驗證同時取得gitlab的私有庫的方法,有興趣的朋友可以學習一下。
近期購買了Laravel的nova以後,需要對它的核心程式碼做一些修改,為方便與團隊其他成員分享,以及在nova官方庫更新後方便對差異管理。便將nova函式庫掛在自己的gitlab,透過composer直接引用。
相關推薦:【composer教學】
gitlab上全是私有庫,composer取得需要認證,在本地測試時輸入使用者名稱/密碼過認證倒不打緊,生產伺服器上佈署就有問題了,由於是自動佈署,必須是全自動才行。經過一番折騰,composer可以透過設定gitlab的Private Token完成驗證,取得到私有庫,不用再輸使用者名稱密碼。
為方便描述操作流程。這裡以官方套件laravel/nova為例,我將laravel/nova放到自已的gitlab上,路徑為https://git.papamk.com/xxx/nova,並設定為私有函式庫。我們的目標是composer可以直接取得該套件而不用輸入密碼。
設定過程
1. 產生Private Token
在gitlab上,在`User Settings`中找到`Access Tokens`,見下圖:
⚠️⚠️⚠️:產生的token只顯示一次,記得保存下來,後面要用到。
2.設定composer的認證資訊
編輯~/.composer/auth.json(如果沒有該文件,就直接創建)
1 { 2 "bitbucket-oauth": {}, 3 "github-oauth": {}, 4 "gitlab-oauth": { 5 }, 6 "gitlab-token": { 7 "git.papamk.com": "" 8 }, 9 "http-basic": {},10 "gitlab-domains":["git.papamk.com"]11 }
注意點:
##3. 編輯composer .json
{ // ...省略其他部分 "repositories": [ { "type": "gitlab", "url": "https://git.papamk.com/xxx/nova" } ], "require": { // ...省略其他包 "laravel/nova": "dev-master", } }
其他問題
有可能會出現設定正確,但是套件的取得是直接從本機cache直接讀取的問題。這時候,直接刪除~/.composer/cache,再試一下即可。 相關教學:以上是[php] 用composer自動驗證同時取得gitlab的私有函式庫的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!