【问题标题】:Serverless: Using a private Python package as a dependency无服务器:使用私有 Python 包作为依赖项
【发布时间】: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


【解决方案1】:

虽然不推荐。你试过用sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1

使用错误的密码或 ssh 密钥也可能导致此错误。

【讨论】:

    【解决方案2】:

    所以我设法解决这个问题的唯一方法是

    1. 配置无密码的 SSH。按照步骤here
    2. serverless.yml 中,我添加了以下内容:
        custom:
          wsgi:
            app: app.app
            packRequirements: false
          pythonRequirements:
            dockerizePip: true
            dockerSsh: true
            dockerSshSymlink: ~/.ssh
    

    注意我添加了dockerSshSymlink 来报告我本地机器上ssh 文件的位置; ~/.ssh.

    1. requirements.txt 中,我添加了这样的私有依赖项:

      git+ssh://git@github.com/my_comp/my_repo.git#egg=MyRepo

    所有作品。

    【讨论】:

    • 我尝试了同样的方法,但仍然得到 ERROR: Command errored out with exit status 128。这是什么原因?
    猜你喜欢
    • 2018-05-12
    • 2018-12-30
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2014-10-11
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多