背景
在cicd流程在打包机上执行go mod download 或者 go mod tidy,都会报错:
go: git@git.xxx.com/test/test.git@v0.5.5: reading git@git.xxx.com/test/test.git/go.mod at revision v0.5.5: git ls-remote -q origin in /root/go/pkg/mod/cache/vcs/9e4ce7392fc0e490ef2e71cc0d47997712e41d3eed641bc83a066be23b5973d0: exit status 128:
致命错误:无法连接到 git.xxx.com:
git.xxx.com[0: 1.1.1.1]: errno=没有到主机的路由.
每次更新了gitlab私有模块的版本后都会失败
但是手动在打包机上执行 go get git@git.xxx.com/test/test.git 第一次同样报上述错误,
紧接着再执行一次 go get git@git.xxx.com/test/test.git 这时就成功了。
这时再出发cicd流程,发现go mod download 或者 go mod tidy都会成功了。
这只能是临时解决,不能每次都在打包机上手动执行go get
解决
检查配置~/.gitconfig内容,发现内容是:
[url "git@git.xxx.com/"]
insteadOf = https://git@git.xxx.com/
在"git@git.xxx.com/" 添加 “ssh://” 然后发现就OK了
[url "ssh://git@git.xxx.com/"]
insteadOf = https://git@git.xxx.com/