繁体   English   中英

Pip 在谷歌云应用引擎中从私有 github repo 安装 package

[英]Pip install package from private github repo in google cloud appengine

我正在使用 google cloud appengine 并使用gcloud app deploy和标准app.yaml文件进行部署。 我的 requirements.txt 文件有一个从 github ( git+ssh://git@github.com/...git ) 获取的私有 package 。 此安装在本地工作,但是当我运行部署时,我得到

Host key verification failed.
fatal: Could not read from remote repository.

这表明安装时没有 ssh 密钥。 阅读文档( https://cloud.google.com/appengine/docs/standard/python3/specifying-dependencies )看来这不是一个选择???

Dependencies are installed in a Cloud Build environment that does not provide access to SSH keys. Packages hosted on repositories that require SSH-based authentication must be copied into your project directory and uploaded alongside your project's code using the pip package manager.

对我来说,这似乎非常不理想 - 将代码分解为 package 的全部目的是能够避免回购中的重复。 现在,如果我想使用 appengine,你是在告诉我这不可能吗?

真的没有解决办法吗?

看:

https://cloud.google.com/appengine/docs/standard/python3/specifying-dependencies#private_dependencies

App Engine 服务没有(也不应该)访问您的私人存储库。

一种替代方法(您不想要)是将您的公钥上传到 App Engine 服务。

另一个——如文件所述——是您必须在上传过程中向服务提供您的私有存储库的内容。

我遇到了同样的问题,在 gcloud 上部署了一个 python 项目,该项目在其 requirements.txt 中包含一些私有存储库。 正如@DazWilkin 已经写的那样,没有办法像平常那样部署它。

一种选择是创建整个项目及其依赖项的 docker 映像,将其保存到 gcloud docker 注册表中,然后将其拉入 App Engine 实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM