在docker中使用gitlab私有仓库作为golang依赖

时间:2018-10-30 09:27:20

标签: docker go gitlab

我正在镜像我的组织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工作流程的见识都会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

golang v1.11似乎包含modules

引用来源

  

模块是一组相关的Go软件包的集合,这些版本一起作为一个单元进行了版本控制。通常,单个版本控制存储库恰好对应于单个模块。

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