【发布时间】:2018-11-01 11:09:58
【问题描述】:
我有一个使用私有 Git(在 Github 上)存储库的 Python 无服务器项目。
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
我做错了什么?我怀疑我为 Github 访问配置 SSH 密钥的方式或无服务器包的配置。
【问题讨论】:
-
1.使用 ssh url 从 Github 克隆时,您必须提供 ssh 密钥,因此如果需要 ssh 克隆,则必须将私钥放入容器并设置 ssh 代理。 2. 容器中的 ssh clone 到底是什么?您只是在安装软件包而没有计划更改上游代码等,因此将需求 url 替换为
https://github.com/company/repo.git#egg=my_alias并准备就绪。 -
@hoefling,这就是
dockerSsh: true,它将键从容器外部映射到容器内部。M-T-A,您能否将--verbose标志添加到您的部署命令并共享相同的输出 -
你使用什么版本的
serverless-python-requirements? -
另外,您是在交互式 shell 中还是通过某些构建系统运行
sls deploy?如果你在控制台运行它,你可以使用 git+https:// 交互地进行身份验证
标签: python pip serverless-framework serverless