Fastlane match не может подключиться через SSH - PullRequest
1 голос
/ 09 апреля 2019

Существующие решения

Я много раз искал SO и Github, прежде чем задать свой вопрос.Ни в одной из существующих тем не представлены какие-либо рабочие решения для нашей установки.

Конфигурация

У нас настроен Jenkins + Fastlane на удаленном компьютере с MacOS.Fastlane match должен получить учетные данные для подписи (сертификат + профиль обеспечения) из выделенного хранилища по SSH.

Issue

Сбой соединения SSH (он зависает).Вывод консоли Jenkins:

INFO [2019-04-09 14:09:29.05]: Cloning remote git repo...
INFO [2019-04-09 14:09:29.05]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
INFO [2019-04-09 14:09:29.05]: [36m$ git clone ssh://git@xxx.xx.x.xxx:xxxx/cert/ios-certificates-profiles.git /var/folders/_redacted_[0m
INFO [2019-04-09 14:09:29.07]: ▸ [35mCloning into '/var/folders/_redacted_'...[0m
INFO [2019-04-09 14:09:29.19]: ▸ [35mThe authenticity of host '[xxx.xx.x.xxx:xxxx]:xxxx ([xxx.xx.x.xxx:xxxx]:xxxx)' can't be established.[0m
INFO [2019-04-09 14:09:29.19]: ▸ [35mRSA key fingerprint is _REDACTED_.

Выполнение команды «git clone ssh: //git@xxx.xx.x.xxx: xxxx / ...» из терминала на том же компьютере:

  • успешно клонирует репозиторий
  • добавляет хост в файл known_hosts

Тем не менее Дженкинс продолжает зависать на команде быстрого матча.Есть идеи, почему Jenkins не может подключиться через SSH к хранилищу?Чего мне не хватает?

Редактировать

Добавление опции clone_branch_directly к команде match не имеет никакого эффекта, команда все еще зависает.

1 Ответ

0 голосов
/ 16 апреля 2019

Попробуйте сначала выполнить ту же операцию с Jenkins, запущенную в среде, где для переменной GIT_SSH_COMMAND установлено значение "ssh -vvv": это даст вам полные трассировки при попытке Git и клонировании с URL-адресом SSH.

OP mmvie подтверждает в комментариях :

Добавление подробного ведения журнала в SSH показало, что Дженкинс был запущен как sudo.
Запуск Дженкинса не , поскольку sudo и указание на правильные ключи SSH решили проблему.


Другие возможности:

проблема fastlane 5473 упоминаетпроблема known_hosts, но если отпечаток удаленного сервера уже добавлен (при условии, что ваш Jenkins работает с той же учетной записью , что и ваш собственный сеанс оболочки), то проверьте, защищен ли ваш закрытый ключ парольной фразой:

FWIW, когда я ssh-add -D и затем запускаю fastlane certs (который запускает совпадение), я получаю точно такое же поведение.Он висит на "Клонирование удаленного репозитория git ..." Это ожидаемое поведение.'ssh-add' исправляет ошибки.

То же самое в fastlane Issue 7482 :

Разобрался ... было на новой коробке иЯ не добавил свой ключ в ssh-agent.

ssh-add -K ~/.ssh/id_rsa

Другая возможность: fastlane проблема 11732 :

Я сталкиваюсь сэто также применимо и к CircleCi 2.0

Установка этой конфигурации в моей среде в Circle 2.0 помогает

environment:
  TERM: xterm-256color

Так что проверьте значение переменной среды $TERM.

...