我有一个使用私有Git(在Github上(存储库的Python Serverless项目。
要求.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
我做错了什么?我怀疑我为 Github 访问配置 SSH 密钥的方式或无服务器包的配置。
所以我设法解决这个问题的唯一方法是
- 配置不带密码的 SSH。请按照以下步骤操作。
- 在
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
所有作品。
虽然不推荐。您是否尝试过使用sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1
此错误也可能通过使用错误的密码或 ssh 密钥来创建。