go module,使用gitlab私有倉庫作為專案的依賴包
自從golang 1.11推出go moudle機制來更好的管理專案依賴後,就開始小範圍嘗試使用go mod來替換曾經的dep,實話實說還不錯,很穩定,比起dep以及第三方的govendor來說也更加方便和快速。
在曾經使用的專案上中,有一部分專案的依賴是放在github中的公開倉庫的(如中介軟體、工具包),放入公開倉庫中然通過dep將依賴拉取到vendor中。
最近內部又做了個相關的依賴包,也不算工具,但這次多少跟業務有點結合,這次肯定不能放在github public倉庫,於是就想著,放入內部的gitlab私有倉庫中,想著以後能不能把github中的某一部分也遷移過來。
比如,通過RPC或HTTP呼叫服務時可以把公共的struct,service,method放入gitlab私有倉庫中,這是必然的。
在public倉庫好說,在go mod init gitlab.com/groupName/projectName後,不做任何處理直接直接 go mod vendor會自動拉取第三方依賴。但是如果是gitlab等私有倉庫中是get不下來的。
這本質上還是解決go get的問題。所以,接下來,我們要解決go get私有倉庫:
- 獲取gitlab的access token
進入Gitlab
—>Settings
—>Access Tokens
,然後建立一個personal access token
,這裡許可權最好選擇只讀(read_repository)。
- git配置新增access token
有了access token後,我們還需要在git中進行配置,這樣才能go get下了私有倉庫的包,需要把剛剛的token新增進git的請求頭中,操作如下:
git config --global http.extraheader "PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN"
- 配置git將請求從ssh轉換為http
配置如下:
git config --global url."git@gitlab.com:groupName/projectName.git".insteadOf "https://gitlab.com/groupName/projectName.git"`
上述配置已經完成了,可以試著拉取gitlab私有倉庫的程式碼:
go get -u -v gitlab.com/groupName/projectName
此時,執行go mod vendor也是可以正常拉取的。
相關文章
- golang專案引用GitHub私有倉庫moduleGolangGithub
- golang 專案引入私有倉庫包Golang
- gitlab私有倉庫搭建Gitlab
- 如何建立依賴專案工程--android moduleAndroid
- [gitlab]搭建私有github倉庫GitlabGithub
- go get 安裝gitlab私有包GoGitlab
- 在iOS專案中依賴Flutter Module-②遠端依賴Git資源iOSFlutterGit
- iOS開發: CocoaPods遠端私有倉庫的維護-新增依賴庫iOS
- Gradle構建springboot專案的倉庫處理(包括外掛倉庫以及依賴倉庫)GradleSpring Boot
- 《Git團隊協作》之Docker快速搭建GitLab私有倉庫DockerGitlab
- 為你的專案依賴加星
- 如何使用Maven將專案中的依賴打進jar包MavenJAR
- 私有化倉庫的 GO 模組使用實踐Go
- 使用 Satis 搭建私有的 Composer 包倉庫
- 用Docker搭建cnpm私有倉庫以及私有倉庫的使用DockerNPM
- Go Module 支援 HTTP 協議的私有庫方案GoHTTP協議
- 使用godep管理Golang專案依賴Golang
- 使用govendor管理Golang專案依賴Golang
- maven 如何用私有倉庫中的包Maven
- JavaScript專案中鎖定npm依賴包版本JavaScriptNPM
- Androidstuio有關導如專案作為依賴以及出現包衝突的解決辦法AndroidUI
- Go 專案依賴注入wire工具最佳實踐介紹與使用Go依賴注入
- 為什麼在SpringBoot+maven的專案中,所引入的依賴包可以不指定依賴的版本號?Spring BootMaven
- 在iOS專案中依賴Flutter Module-③本地podspec中轉依賴遠端Flutter編譯產物iOSFlutter編譯
- kubernetes實踐之二十八:使用Harbor作為私有映象倉庫
- 使用Gradle檢視Android專案中庫的依賴關係GradleAndroid
- Simple Injector是.NET的依賴注入庫包依賴注入
- HTop依賴包
- Docker倉庫之Registry私有映象倉庫的搭建與使用Docker
- 使用阿里雲Maven倉庫映象加快依賴下載速度阿里Maven
- 使用verdaccio搭建私有npm倉庫NPM
- 使用verdaccio 搭建npm私有倉庫NPM
- 搭建react專案常用依賴React
- 引入gitlab倉庫程式碼到npm包的教程GitlabNPM
- 在 xunit 測試專案中使用依賴注入依賴注入
- 一行命令搞定Python專案依賴包匯出Python
- 利用 uber-go/dig 庫管理依賴Go
- git倉庫之gitlab搭建使用Gitlab