首页 > 其他分享 >golang 项目引入私有仓库包

golang 项目引入私有仓库包

时间:2024-09-22 16:13:07浏览次数:1  
标签:git 私有 gitlab golang 仓库 go v0.1

场景:

当你多个项目,都需要使用一个或者多个方法,那么可以将公共方法,抽成一个包,进行管理(类似Log模块等)。这时候可以将你的包上传到私有的仓库,其他项目引入该包即可。下面来介绍下,如何引用私有仓库的包。

1. 创建一个新的 Git 标签

假设你已经在你的私有 GitLab 仓库目录中,并且你已经提交了所有的更改(运行了 git addgit commit)。现在你可以通过如下命令创建一个新的标签。

git tag v0.1.0

 

如果你想要附加注释到该标签,可以使用:

 
git tag -a v0.1.0 -m "Initial release"

 

2. 推送标签到 GitLab:

创建标签之后,需要将其推送到远程仓库:

 
git push origin v0.1.0
  这样标签 v0.1.0 就会被推送到远程仓库,你的模块版本也就设置好了。  

3. 在 go.mod 文件中使用这个版本号

在你需要调用这个私有模块的项目中,更新 go.mod 文件,指向这个特定的版本号。这可以通过 go get 命令自动完成:

 
go get gitlab.com/yourusername/[email protected]

 

或者手动编辑 go.mod 文件:

 
module your-other-project

go 1.18

require (
    gitlab.com/yourusername/yourrepository v0.1.0
)

在这里需要注意,gitlab.com/yourusername/yourrepository这里的包名一定需要和依赖的包名保持一致

 

4. 更新依赖

 
go mod tidy

 

5.注意事项 

5.1 访问GitLab仓库认证失败

fatal: could not read Username for 'https://gitlab.xxxx.cn': terminal prompts disabled
Confirm the import path was entered correctly.
If this is a private repository, see https://golang.org/doc/faq#git_https for additional information.

出现此错误通常是在访问私有 GitLab 仓库时认证失败。要解决这个问题,可以通过以下方法来确保 go get 能够正确地通过 HTTPS 认证访问私有仓库。

这里介绍一种设置环境变量的方法  

1. 创建一个 Shell 脚本文件来返回访问令牌: 

echo 'echo <your_personal_access_token>' > /path/to/git-askpass.sh
chmod +x /path/to/git-askpass.sh
    拓展如何获得access_token:
  1. 登录到你的 GitLab 账户。
  2. 点击右上角的用户头像,然后选择 "Settings"。
  3. 在左侧导航栏中选择 "Access Tokens"。
  4. 输入 token 名称,选择相应的作用域(至少需要 read_repository 权限)。
  5. 点击 "Create personal access token"。

 

2. 设置环境变量
export GIT_ASKPASS='/path/to/git-askpass.sh'
export GIT_TERMINAL_PROMPT=0

 

3.配置 GOPRIVATE

如果尚未配置,确保设置 GOPRIVATE 环境变量来指示 Go 不要在 go get 期间使用 Go module proxy。

 
export GOPRIVATE=gitlab.com/yourusername/*

 

通过这种方式,GIT_ASKPASS 脚本会在 Git 认证时返回访问令牌,从而避免手动输入用户名和密码。

 

 

   

标签:git,私有,gitlab,golang,仓库,go,v0.1
From: https://www.cnblogs.com/changfan/p/18425452

相关文章

  • 数据飞轮的崛起:从媒体行业看数据仓库到数据中台的演进
    在快速变化的媒体行业中,数据已成为制胜秘籍。而从数据仓库到数据中台,再到如今的数据飞轮,每一步演进都凝聚了无数数据工程师的汗水与智慧。本文将通过幽默的笔触,深入浅出地探讨这一转变如何在媒体行业中实现数据的最大价值。数据仓库时代:信息的孤岛想象一下,早在21世纪初,媒体行业的......
  • 数据飞轮之旅:从数据仓库到数据驱动智能推荐的进化
    在这个数据驱动的时代,数据技术的每一次进步都是从对旧理念的颠覆开始的。从静态的数据仓库到动态的数据中台,再到如今的数据飞轮,我们见证了数据技术如何重新定义业务模式。在此,我将以智能推荐系统为例,深入探索数据技术如何支撑现代电商平台在产品优化和爆款推荐方面的实际应用。从......
  • git仓库服务器端损坏如何用本地code重新部署
    要将本地的最新代码部署到新服务器上,并保留之前的修改记录,可以按照以下步骤操作:1.在新服务器上创建一个新的Git仓库在新服务器上,你需要创建一个新的Git仓库。#进入你希望创建仓库的目录cd/path/to/your/project#初始化一个新的Git仓库gitinit--bare这将创建......
  • docker阶段04 Docker仓库管理(Harbor), Docker 的资源限制
    Docker仓库管理上传dockerhub官方镜像仓库#1.给本地镜像打标签上传本地镜像前必须先给上传的镜像用dockertag命令打标签标签格式:docker.io/用户帐号/镜像名:TAG#范例:[root@ubuntu1804~]#dockertagalpine:3.11docker.io/wangxiaochun/alpine:3.11-v1#2.登录d......
  • 智能仓库|基于springBoot的智能无人仓库管理设计与实现(附项目源码+论文+数据库)
    私信或留言即免费送开题报告和任务书(可指定任意题目)目录一、摘要二、相关技术三、系统设计四、数据库设计  五、核心代码  六、论文参考 七、源码获取  一、摘要互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都......
  • 数据技术进化的见证者:从数据仓库到数据中台再到数据飞轮
    在探索数据的广袤海洋中,每一步技术的进化都似乎在向我们揭开未知的面纱,帮助我们以更精细化、智能化的方式处理海量信息。从固守旧有的数据仓库,发展至功能丰富的数据中台,再进化到实施自我增强的数据飞轮,我见证了数据技术如何赋能业务的每一次飞跃。一段旅程的起点:数据仓库数据仓库......
  • 数据的螺旋提升:从数据仓库到中台再到飞轮的媒体行业应用
    在这个数据驱动的世界里,媒体行业的运营模式和用户交互方式正经历着彻底的变革。随着数据技术的持续进步,从传统的数据仓库,到数据中台,再到现在被广泛讨论的数据飞轮,每一步都显著地推动了商业智能和决策方法的进化。通过具体的技术探索和行业案例,本文将深入讨论如何在媒体行业内应用这......
  • 数据技术的演变:从数据仓库到数据中台,再到数据飞轮
    在数据驱动的现代商业环境中,企业对数据技术的需求与日俱增,从最初的数据仓库(DataWarehouse)到数据中台(DataMiddlePlatform),再到如今被广泛讨论的数据飞轮(DataFlywheel),每一步演变都不仅仅是技术的迭代,更是企业战略思考的深化。本文将结合具体业务场景探讨这一演进过程中的关键技术......
  • 数据技术进化之旅:从数据仓库到数据中台再到数据飞轮的见证
    在数字化时代,数据不仅仅是信息的堆积,更是推动业务增长的核心动力。本文从历史的长河中回望,梳理了从数据仓库、数据中台到数据飞轮的发展旅程,并在此基础上,深入探讨了如何在现实业务场景中应用这些技术,尤其是如何通过数据飞轮优化产品体验和驱动业务增长。数据仓库:基础设施的奠基早......
  • 数据技术进化之旅:从数据仓库到数据中台再到社交领域的数据飞轮
    在数字化时代,数据已成为企业最宝贵的资产之一。对于社交领域而言,数据技术的演进尤为关键——它不仅推动了业务模式的创新,更提升了用户体验。数据仓库:基础数据管理的萌芽数据仓库作为分析和报告的基础设施,使企业能够收集来自多个源的数据,并将其转换为统一格式,以支持决策制定。在社......