Я нашел способ автоматически 'pip установить' частный репозиторий GitLab, который не требует запроса пароля.В этом подходе используется GitLab «Deploy Keys» и файл конфигурации SSH, поэтому вы можете развертывать с использованием ключей, отличных от ваших личных ключей SSH (в моем случае, для использования ботом).Возможно, кто-то добрый соул сможет проверить с помощью GitHub.
Создать новый ключ SSH:
ssh-keygen -t rsa -C "GitLab_Robot_Deploy_Key"
Файл должен отображаться как ~/.ssh/GitLab_Robot_Deploy_Key
и ~/.ssh/GitLab_Robot_Deploy_Key.pub
Скопируйте и вставьте содержимое файла ~/.ssh/GitLab_Robot_Deploy_Key.pub
в диалоговое окно GitLab «Deploy Keys».
Проверка нового ключа развертывания
Следующая команда указывает SSH использовать вашновый ключ развертывания для установки соединения.В случае успеха вы должны получить сообщение: «Добро пожаловать в GitLab, имя пользователя!»
ssh -T -i ~/.ssh/GitLab_Robot_Deploy_Key git@gitlab.mycorp.com
Создание файла конфигурации SSH
Далее, используйте редактор для создания~/.ssh/config
файл.Добавьте следующее содержимое.Значение 'Host' может быть любым, чем вы хотите (просто запомните это, потому что вы будете использовать его позже).HostName - это URL-адрес вашего экземпляра GitLab.IdentifyFile - это путь к файлу ключа SSH, который вы создали на первом шаге.
Host GitLab
HostName gitlab.mycorp.com
IdentityFile ~/.ssh/GitLab_Robot_Deploy_Key
Укажите SSH на файл конфигурации
@ oxyum , который дал нам рецепт дляиспользование pip с SSH:
pip install git+ssh://git@gitlab.mycorp.com/my_name/my_repo.git
Нам просто нужно немного изменить его, чтобы SSH использовал наш новый ключ развертывания.Мы делаем это, указывая SSH на запись Host в файле конфигурации SSH.Просто замените «gitlab.mycorp.com» в команде на имя хоста, которое мы использовали в файле конфигурации SSH:
pip install git+ssh://git@GitLab/my_name/my_repo.git
Пакет теперь должен быть установлен без запроса пароля.
Ссылка A
Ссылка B