申请权限
申请 read_repository 权限的 gitlab AccessToken
https://gitlab.qg.net/profile/personal_access_tokens
修改 repo 代理
核心原理就是刚才申请的 token 可以进行免密 clone,git clone https://oauth2:${TOKEN}@${MODREPO}
以下命令的作用是将 go mod 中使用默认http无认证的链接,替换为使用token认证的链接,进行免密clone
1 | TOKEN="xxxx" |
跳过GOPROXY
否则 go mod tidy 时将会被代理到设置的地址,无法获取到包
1 | go env -w GOPRIVATE=gitlab.private.org |
测试
1 | go mod tidy -v |
其他git服务器
以上教程适用于 gitlab,其他git服务器可以使用账号密码进行操作、也可以使用 ssh-key 认证
1 | git config --global url."https://gitlabuser:gitlabpassword@${MODREPO}".insteadOf "https://${MODREPO}" |