无服务器:使用私有 Python 包作为依赖项
Serverless: Using a private Python package as a dependency
我有一个 Python 无服务器项目,它使用私有 Git(在 Github 上)存储库。
Requirements.txt 文件如下所示:
itsdangerous==0.24
boto3>=1.7
git+ssh://git@github.com/company/repo.git#egg=my_alias
项目的配置主要是这样的
plugins:
- serverless-python-requirements
- serverless-wsgi
custom:
wsgi:
app: app.app
packRequirements: false
pythonRequirements:
dockerizePip: true
dockerSsh: true
当我使用此命令进行部署时:
sls deploy --aws-profile my_id --stage dev --region eu-west-1
我收到这个错误:
Command "git clone -q ssh://git@github.com/company/repo.git /tmp/pip-install-a0_8bh5a/my_alias" failed with error code 128 in None
我做错了什么?我怀疑我为 Git 集线器访问配置 SSH 密钥的方式或无服务器包的配置。
虽然不推荐。您是否尝试过使用 sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1
使用错误的密码或 ssh 密钥也可能导致此错误。
所以我设法解决这个问题的唯一方法是
- 配置没有密码的 SSH。按照步骤 here.
- 在
serverless.yml
中,我添加了以下内容:
custom:
wsgi:
app: app.app
packRequirements: false
pythonRequirements:
dockerizePip: true
dockerSsh: true
dockerSshSymlink: ~/.ssh
注意我添加了 dockerSshSymlink
来报告本地计算机上 ssh 文件的位置; ~/.ssh
.
在requirements.txt
中,我这样添加了我的私人依赖:
git+ssh://git@github.com/my_comp/my_repo.git#egg=MyRepo
所有作品。
我有一个 Python 无服务器项目,它使用私有 Git(在 Github 上)存储库。
Requirements.txt 文件如下所示:
itsdangerous==0.24
boto3>=1.7
git+ssh://git@github.com/company/repo.git#egg=my_alias
项目的配置主要是这样的
plugins:
- serverless-python-requirements
- serverless-wsgi
custom:
wsgi:
app: app.app
packRequirements: false
pythonRequirements:
dockerizePip: true
dockerSsh: true
当我使用此命令进行部署时:
sls deploy --aws-profile my_id --stage dev --region eu-west-1
我收到这个错误:
Command "git clone -q ssh://git@github.com/company/repo.git /tmp/pip-install-a0_8bh5a/my_alias" failed with error code 128 in None
我做错了什么?我怀疑我为 Git 集线器访问配置 SSH 密钥的方式或无服务器包的配置。
虽然不推荐。您是否尝试过使用 sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1
使用错误的密码或 ssh 密钥也可能导致此错误。
所以我设法解决这个问题的唯一方法是
- 配置没有密码的 SSH。按照步骤 here.
- 在
serverless.yml
中,我添加了以下内容:
custom:
wsgi:
app: app.app
packRequirements: false
pythonRequirements:
dockerizePip: true
dockerSsh: true
dockerSshSymlink: ~/.ssh
注意我添加了 dockerSshSymlink
来报告本地计算机上 ssh 文件的位置; ~/.ssh
.
在
requirements.txt
中,我这样添加了我的私人依赖:git+ssh://git@github.com/my_comp/my_repo.git#egg=MyRepo
所有作品。