假设我们在一个私有存储库中有一个名为shared_package
的定制Python包,托管在GitHub或BitBucket上。我们的私有存储库配置为通过SSH进行只读访问,如here for github和here for bitbucket所述。
我们的另一个项目,恰如其分地命名为dependent_project
,依赖于此shared_package
,需要部署到AWS弹性豆茎(EB)。我们的环境使用的是最新的《亚马逊Linux 2上的Python》平台,我们使用pipenv
作为包管理器。
出于各种原因,对于我们来说,直接从我们的在线git存储库中安装shared_package
将是最方便的,就像这里针对pipeenv和here for pip所描述的那样。我们的dependent_project
的Pipfile
如下所示:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
shared_package = {git = "ssh://bitbucket.org/our_username/shared_package.git", editable = true, ref = "2021.0"}
[dev-packages]
awsebcli = "*"
[requires]
python_version = "3.8"
这在我们的本地开发系统上工作得很好,但在将dependent_project
部署到弹性豆茎时,pipenv
安装失败,错误为:Permission denied (publickey)
。
这就引出了一个问题:
如何使用Amazon Linux 2 platform hooks配置弹性豆茎环境,以便pipenv
可以通过SSH从私有在线git repo成功安装包?
在以下讨论中可以找到一些拼图,但这些不使用Amazon Linux 2平台挂钩:
- Setting up private Github access with AWS Elastic Beanstalk and Ruby container
- Setting up SSH keys for github private repo access on Elastic Beanstalk
- What is the recommended way to handle node.js private module dependencies?
- BitBucket: Host key verification failed
- Grant S3 access to Elastic Beanstalk instances
- How to deploy private python pip dependency with Amazon AWS Elastic Beanstalk?
- Python in AWS Elastic Beanstalk: Private package dependencies
暂无答案!
目前还没有任何答案,快来回答吧!