【问题标题】:Using a gitlab private repo as a golang dependancy in docker在 docker 中使用 gitlab 私有 repo 作为 golang 依赖项
【发布时间】:2019-04-03 07:16:59
【问题描述】:

我在我的组织 gitlab 组中镜像一个流行的 go 库(为了冗余)。

在我的代码中,我有:import ( "gitlab.com/org/group/library.git" )

我使用this answer 获取有关使用 go get 和私有存储库的指导。在我的机器上go get ./... 可以工作,因为我使用以下命令配置了 git:

$ git config --global url.git@gitlab.com:.insteadOf https://gitlab.com/

当我尝试构建 docker 容器时,命令 RUN go get ./... 失败并显示以下输出:

package gitlab.com/org/group/library.git: cannot download, git://gitlab.com/org/group/library uses insecure protocol

似乎来自similar threadthis article 的流行答案是将您的ssh 密钥上传到docker 容器。我对此不太满意,因为我不完全了解正在做什么或安全隐患。

任何有关如何正确配置我的 dockerfile 或我的 golang 工作流程的见解都会有很大帮助。

【问题讨论】:

  • 今天阅读an article,了解 docker 的新改进,允许在 docker 构建期间共享秘密。这有帮助吗?
  • 我将这种方法用于我需要注入容器的环境变量,这实际上不适用于在我的腺体项目中使用私有存储库作为 pkg。

标签: docker go gitlab


【解决方案1】:

看来golang v1.11 包含modules

引用来源

模块是相关 Go 包的集合,它们作为一个单元一起进行版本控制。大多数情况下,单个版本控制存储库与单个模块完全对应。

使用最新版本的 golang 和模块允许我使用我的所有依赖项。

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2016-03-30
    • 2017-08-22
    相关资源
    最近更新 更多