程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

golang引用私有gitlab项目代码(golang引入当前包下的文件)

balukai 2025-06-15 14:25:41 文章精选 5 ℃

在写golang代码时,引用其他开源github项目代码,仅需要简单的import即可。在公司内部开发项目用gitlab存储我们的项目代码,且代码都设置了私有权限,不能直接通过简单的import引入需要的代码,此时需要怎么做?

假设用户user开发项目example,要引入项目base的代码,gitlab地址http://git.example.com/

获取git token

设置用户user可以访问base项目gitlab代码,并设置用户user的token。如图所示,进入用户设置界面后,点击“Access Token”,然后点击“Add a personal access token”,可以生成一个新的git token。比如我操作后获取到token: ccd9PnzSCKqdS8C8VKKz


本地设置git token

在本地运行指令(实际运行时把{token}换成上一步获取到的ccd9PnzSCKqdS8C8VKKz):git config --global url."http://oauth2:{token}@git.example.com/".insteadOf "http://git.example.com/"

查看~/.gitconfig,可以看到git config命令实际把上面的配置写入到~/.gitconfig文件中

设置完毕git token后,就可以在go.mod中引用base项目了。

这里演示如何在go.mod中引入base项目master分支。
修改go.mod文件,添加
git.example.com/apaas/base master

运行go mod tidy,会自动获取到master的最新commit,现在就可以正常引用base项目代码了。

比如我们要引用base项目的go-client,可以直接在代码中引用

若需要引用base项目某一个commit或tag,也可以直接在go.mod中设置,
引用某个commit:
git.example.com/apaas/base {commit id}

引用某个tag:
git.example.com/apaas/base {tag}

然后运行go mod tidy,即可自动下载依赖的代码。


golang代码引用私有项目代码非常简单,只需配置好git config --global url."http://oauth2:{token}@git.example.com/".insteadOf "http://git.example.com/",即可像引用其他开源github项目代码一样引用gitlab私有项目代码了。注意这里{token}和example.com要换成实际的gitlab token 和gitlab 地址。

Tags:

最近发表
标签列表