2 回答

TA貢獻1853條經驗 獲得超18個贊
我之前處理過 Go 模塊和私人 GitLab。我們的私人 GitLab 有組和子組。您可能缺少的部分是~/.netrc,您可能有一個不正確的全局 git 配置。
我為此做了一個 GitHub 要點。你可以在這里找到它:https ://gist.github.com/MicahParks/1ba2b19c39d1e5fccc3e892837b10e21
您可以在下面找到粘貼的要點:
問題
go命令行工具需要能夠從您的私有 GitLab 中獲取依賴項,但需要進行身份驗證。
這假設您的私人 GitLab 托管在privategitlab.company.com.
環境變量
推薦使用以下環境變量:
export GO111MODULE=on
export GOPRIVATE=privategitlab.company.com
以上幾行可能最適合您的 shell 啟動,例如~/.bashrc.
解釋
GO111MODULE=on告訴 Golang 命令行工具你正在使用模塊。我沒有在私有 GitLab 上使用不使用 Golang 模塊的項目對此進行測試。
GOPRIVATE=privategitlab.company.com告訴 Golang 命令行工具不要為列出的主機名使用公共互聯網資源(如公共模塊代理)。
從您的私人 GitLab 獲取個人訪問令牌
為了將來證明這些說明,請遵循GitLab 文檔中的本指南。我知道read_apiGolang 命令行工具需要范圍才能工作,我也可能懷疑read_repository,但尚未證實這一點。
設置~/.netrc
為了讓 Golang 命令行工具向 GitLab 進行身份驗證,~/.netrc最好使用文件。
如果文件不存在,要創建該文件,請運行以下命令:
touch ~/.netrc
chmod 600 ~/.netrc
現在編輯文件的內容以匹配以下內容:
machine privategitlab.company.com login USERNAME_HERE password TOKEN_HERE
WhereUSERNAME_HERE替換為您的 GitLab 用戶名,并TOKEN_HERE替換為上一節中獲取的訪問令牌。
常見錯誤
不要使用以下內容設置全局 git 配置:
git config --global url."[email protected]:".insteadOf "https://privategitlab.company.com"
我相信在撰寫本文時,Golang 命令行工具不完全支持 SSH git,這可能會導致與~/.netrc.
獎勵:SSH 配置文件
對于該git工具的常規使用,而不是 Golang 命令行工具,最好~/.ssh/config設置一個文件。為此,請運行以下命令:
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/config
chmod 600 ~/.ssh/config
請注意,以上文件和目錄的權限是 SSH 在大多數 Linux 系統上以默認配置工作的必要條件。
然后,編輯~/.ssh/config文件以匹配以下內容:
Host privategitlab.company.com
Hostname privategitlab.company.com
User USERNAME_HERE
IdentityFile ~/.ssh/id_rsa
請注意上述文件中的間距很重要,如果不正確將使文件無效。
USERNAME_HERE您的 GitLab 用戶名在哪里,并且是文件系統中SSH私鑰~/.ssh/id_rsa的路徑。您已經將其公鑰上傳到GitLab。這里有一些說明。

TA貢獻1827條經驗 獲得超4個贊
你用的是什么版本的圍棋?如果是 Go 1.13 或更高版本,默認是通過 proxy.golang.org 下載模塊。您可以使用GOPRIVATE
環境變量為一組特定的包更改它。
這是來自 的引述go help module-private
,我強烈建議您完整閱讀。直接獲取模塊后,它應該使用與之前模塊相同的git
/邏輯。ssh
GOPRIVATE 環境變量控制 go 命令認為哪些模塊是私有的(不公開),因此不應使用代理或校驗和數據庫。該變量是以逗號分隔的模塊路徑前綴的 glob 模式列表(在 Go 的 path.Match 的語法中)。例如,
GOPRIVATE=*.corp.example.com,rsc.io/private
導致 go 命令將路徑前綴匹配任一模式的任何模塊視為私有模塊,包括 git.corp.example.com/xyzzy、rsc.io/private 和 rsc.io/private/quux。
- 2 回答
- 0 關注
- 243 瀏覽
添加回答
舉報