Без сервера: использование частного пакета Python в качестве зависимости

У меня есть проект Python Serverless, который использует частное 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

Что я делаю неправильно? Я подозреваю, как я настроил свой SSH-ключ для доступа к Github или как конфигурация пакета без сервера.

2 ответа

Решение

Таким образом, единственный способ, которым мне удалось разобрать эту проблему, был

  1. Сконфигурируйте SSH БЕЗ ПАСФРАЗЫ. Следующие шаги здесь.
  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

Все работает.

Хотя и не рекомендуется. Вы пытались использовать sudo sls deploy --aws-profile my_id --stage dev --region eu-west-1

Эта ошибка также может быть создана с использованием неправильного пароля или ключа ssh.

Другие вопросы по тегам