Без сервера: использование частного пакета Python в качестве зависимости - PullRequest
0 голосов
/ 22 мая 2018

У меня есть проект 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 ]

0 голосов
/ 29 мая 2018

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

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

Все работы.

0 голосов
/ 28 мая 2018

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

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

...