如何在Docker构建中pip安装具有私有子模块的私有存储库?

大卫·本苏珊(David Bensoussan)

我正在构建一个项目,该项目需要对私有python存储库的某些依赖。此仓库内部有一个子模块,该子模块还指向私有仓库。我可以使用ssh密钥在机器上获取它,这在容器内部并不方便。

在我的dockerfile中,我阻止了这一步:

RUN pip3 install wheel \
  && pip3 wheel git+https://${GITHUB_TOKEN}@github.com/owner/repo.git@master \
--wheel-dir=/svc/wheels

它可以毫无问题地获取存储库,但不能处理子模块。我猜pip会解析URL,并且不会通过最初传输的令牌。

我真的不知道如何解决此问题。我可以在本地存放该文件夹并进行复制,也可以设置在构建期间访问的私有pip仓库(如果可能的话),或者在容器内使用ssh键(听起来对我来说很糟糕)。

是否有任何“标准方法”?如果没有,您会提出什么建议?

EDIT1:这似乎是一个git问题,因为git clone --recursive两者都不起作用

解答:我首先需要按照建议使用netrc,并在子模块声明中发现了一个问题。它是使用ssh设置的。url = [email protected]:相反url = https://github.com/感谢您花费时间和精力进行测试。我会接受larsks他的指导,

幼虫

而不是通过${GITHUB_TOKEN)命令行,您应该能够将其配置为.netrc文件,如本答案中所述

Dockerfile将包括以下内容:

RUN echo machine github.com login ${GITHUB_TOKEN} > ~/.netrc
RUN pip3 install wheel \
  && pip3 wheel git+https://github.com/owner/repo.git@master \
--wheel-dir=/svc/wheels

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Docker映像构建中安装私有Python软件包

如何在具有 SSH 存储库访问权限的 AWS 私有 VPS 中安装 Phabricator

npm安装具有自定义更改的分支存储库不会“构建”模块

在GitHub中的构建阶段安装私有存储库

从gitlab私有存储库安装npm模块

如何安全地git clone / pip将私有存储库安装到我的Docker映像中?

如何为具有私有git子模块的私有仓库设置GitHub Actions CI服务?

私有存储库的私有派生

如何使用私有git存储库中的应用程序代码构建docker映像?

无法登录Docker私有存储库

如何使用Artifactory OSS设置私有Docker存储库?

如何在 Eclipse 中克隆 git 私有存储库?

如何在Docker中安装私有依赖项

如何在Vagrant上从Kubernetes访问私有Docker Hub存储库

如何在GKE上使用Docker Hub私有存储库?

Docker Hub私有存储库:无法在私有存储库中推送Solr Core文件

在Docker构建期间从私有存储库中提取Docker映像?

带有私有存储库的Docker CE:可能吗?

是否可以使用pip从私有GitHub存储库安装软件包?

我可以使用pip从私有VSTS存储库安装软件包吗?

如何在两个之间具有拉取请求的公共/私有git存储库

私有Maven存储库中的多模块android项目

私有存储库中的Bluemix节点buildpack和模块

如何使用Jenkins构建具有私有GitHub依赖项的私有GitHub Rust项目?

Docker自动构建从Maven Sonatype Nexus存储库下载私有jar

docker是否在包含Dockerfile的私有git存储库上构建?

点子安装私有Github存储库的简单方法?

捆绑安装-不带私有git存储库的<group>

如何在npm中配置几个私有存储库和公共存储库?