go mod是官方推行的包依赖管理工具,用这个来管理项目几乎是铁板钉钉的事了。

下面说一下我在公司的gitlab背景条件下,使用go mod 遇到的问题。

一个简单的二级项目,如 gitlab.com/server/service_turnover,即使作为私有项目,也不会遇到问题。

但当go的包层级增加,如 gitlab.com/server/group_apple/go/service_banana,将遇到这样的问题:go的大部分版本管理工具,将无法发现这个私有项目。参见gitlab issue

解决方案1:

自己实现一套goproxy代理,然后在开发和编译过程中使用代理服务获取mod。

解决方案2:

nginx代理,直接指定带有.git路径的git仓库地址。

解决方案3:

在go.mod 中添加replace项,指定带有.git路径的地址。

这三个方案,理论上都可行,但是都有缺陷。

goproxy代理,本身并不解决从gitlab服务器获取私有项目代码的问题,也没有成熟的鉴权机制。因此比较适合静态公共代码。

nginx代理,同样不解决认证的问题,我配置了一个代理,ssl认证失败(弱鸡本鸡),理论上这个方案是最好的解决方案。

go replace,需要在每个项目中都添加,更新依赖也比较复杂。

希望官方早日给出合适的解决方案。

go mod 遇上 gitlab相关推荐

  1. 推荐系统遇上深度学习,9篇阿里推荐论文汇总!

    作者 | 石晓文 转载自小小挖掘机(ID: wAIsjwj) 业界常用的推荐系统主要分为两个阶段,召回阶段和精排阶段,当然有时候在最后还会接一些打散或者探索的规则,这点咱们就不考虑了. 前面九篇文章中 ...

  2. 华为平板电脑_当5G遇上平板电脑,华为MatePad Pro 5G带来了什么?

    5G已经来临,科技产品向5G升级已是大势所趋,这更是检验实力的探索之路. 2月24日,华为在巴塞罗那在线发布了一系列新品,其中,华为面向全球推出的5G高端旗舰平板,同时也是全球首款公开发布的5G平板华 ...

  3. 404未找到是什么意思_为什么老遇上404 not found?你懂的

    文章转载自公众号:一只学霸(bajie203) 昨天晚上 大毛火急火燎地打开了电脑 戴上了耳机 不到两分钟 -- 我们往前一凑 登等 果然是大家最害怕的一幕出现了 学霸在网上冲浪多年 留下的都是美好的 ...

  4. 《当用户体验设计遇上敏捷》一3.5 小结

    本节书摘来自异步社区<当用户体验设计遇上敏捷>一书中的第3章,第3.5节,作者[英]Lindsay Ratcliffe , Marc McNeill,更多章节内容可以访问云栖社区" ...

  5. 当网络安全遇上大数据分析(9)

    2012年3月份,Gartner发表过一篇报告--Information Security Is Becoming a Big Data Analytics Problem .里面主要就讲到了针对大规 ...

  6. html实体编码遇上js代码

    单双引号 在js代码中 在js中单.双引号引起来的是字符串,如果我们要在字符串中使用单.双引号,需要反斜杠进行转义 let str='user\'s name'; // or let str=&quo ...

  7. SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败解决方案

    SQL SERVER 2008 R2 SP1更新时,遇上共享功能更新失败的问题,可作如下尝试: 更新失败后,在windows的[事件查看器→应用程序]中找到来源为MsiInstaller,事件ID为1 ...

  8. 当微信小程序遇上TensorFlow:Server端实现补充

    在前面一篇文章<当微信小程序遇上TensorFlow:Server端实现>中,我们探讨了微信小程序server端的实现.今天在调试微信小程序时才发现一个问题,那就是:微信小程序要求HTTP ...

  9. 当深度学习遇上异构并行计算

    当深度学习遇上异构并行计算 近几年来,以深度神经网络(DNN)为代表的深度学习如火如荼,深度学习的研究领域从开始的图像识别(如imagenet比赛)到现在的自然语言处理,几乎有席卷一切机器学习研究领域 ...

最新文章

  1. 【CSS3】好玩的动画线框
  2. tar打包排除某个文件夹
  3. 大牛推荐的30本经典编程书籍,从Python到前端全系列。
  4. r语言模型评估:_情感分析评估:对自然语言处理的过去和未来的反思
  5. Oracle 控制文件管理
  6. Python心得--新手开发注意
  7. python学习笔记-day6-【python如何写excel表】
  8. VMware 修复 Fusion 和 Horizon 中的两个提权漏洞
  9. Ubuntu无法ping通外网可以ping通内网
  10. 非常经典的java编程题全集-共50题(1-10)
  11. python段落注释的语法格式是_Python 基础语法
  12. python用于pmc排产可以吗_有没有免费的PMC生产排程软件啊?
  13. php汉字转拼音插件,PHP中文转拼音优质解决方案-composer转拼音第三方插件-爱测速网...
  14. 使用Linux修复Windows PC的10种最聪明的方法
  15. RPA---Uipath Try Catch
  16. 看DeepMind如何用Reinforcement learning玩游戏
  17. [欧洲之行]比利时布鲁塞尔
  18. 使用setoolkit 进行钓鱼攻击
  19. canvas快速入门(三)canvas实现笔触绘画案例
  20. 初中数学结合计算机教学设计,初中数学教学设计中多媒体技术的运用

热门文章

  1. Java访问Hadoop实践
  2. 前缀和与差分 图文并茂 超详细整理(全网最通俗易懂)
  3. 为毛老抱怨工资低又不离职
  4. 安装Office office Tool 一键解决,选择性安装功能
  5. 使用@Value读取yml配置文件编译报错
  6. css flex 踩坑总结
  7. Unity协程简述(简单用法,简易分析)
  8. getopt.getopt使用总结
  9. 2012-11-25
  10. “熊猫烧香”让“熊猫卫士”走开