#git #ssh #gitlab #cocoapods
# #git #ssh #gitlab #cocoapods
Вопрос:
Я создал фреймворк, который я распространяю через модули Cocoa. Это частный модуль, поэтому пользователь должен включить его через git:
pod 'my-sdk', :git => 'ssh://git@our.gitlab.online/ourcompany/sdk/my-sdk.git', :tag => '1.0.0'
когда я запускаю pod install
, это работает, поскольку в моем файле конфигурации ssh у меня есть следующее:
Host our.gitlab.online
Preferredauthentications publickey
IdentityFile ~/.ssh/gitlab_rsa
Теперь, когда мы хотим поделиться им с интегратором один к одному, мы создаем токен доступа, чтобы иметь доступ к репозиторию git через SSH, чтобы модули Cocoa могли извлекать и создавать его тоже.
Проблема заключается в том, как настроить доступ по SSH с использованием токена доступа вместо пары ключей. Мы также не можем использовать https (ограничения на нашем сервере Gitlab, который был настроен).
Я решил, что можно настроить конфигурацию SSH на устройстве, которое хочет установить SDK, следующим образом:
Host our.gitlab.online
Preferredauthentications password
KbdInteractiveAuthentication yes
а затем изменили импорт модуля на этот:
pod 'my-sdk', :git => 'ssh://project_123_bot@our.gitlab.online/ourcompany/sdk/my-sdk.git', :tag => '1.0.0'
где project_123_bot
находится пользователь, которого GitLab автоматически создает для проекта. Я надеялся, что при установке модуля появится запрос пароля ssh, но чтобы мы могли ввести токен доступа, но вместо этого я получил только: ...Permission denied (publickey). fatal: Could not read from remote repository.
Когда кто-то входит в Gitlab, например, для Docker, вы можете использовать свое имя пользователя, а затем токен доступа в качестве пароля, как можно добиться чего-то подобного для стручков какао?