Вопрос

<Сильная> проблема

Я пытаюсь построить свое заявление в Дженкинс, и он находится на частном репо на Github, также есть личный подмодуль.

Я могу клонировать частный репозиторий в Дженкинах, настроив его учетные данные, но Дженкинс не может клонировать подмодуль, вот вывод неудачной сборки:

Started by an SCM change
Building in workspace /var/lib/jenkins/jobs/Project/workspace
Fetching changes from the remote Git repository
Fetching upstream changes from git@github.com:user/repogit
using GIT_SSH to set credentials 
Checking out Revision 9cc99b67cc676d0ea8ccd489a8327f5c6dbb8d7f (origin/branch)
[workspace] $ /bin/sh -xe /tmp/hudson2710403018107019432.sh
+ git submodule update --init --recursive
Initialized empty Git repository in /var/lib/jenkins/jobs/repository/submodule/.git/
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
Clone of 'git@github.com:user/submodule.git' into submodule path 'repository/submodule/' failed
Build step 'Execute shell' marked build as failure
Discard old builds...
#156 is removed because status FAILURE is not to be kept
Publishing Clover coverage report...
No Clover report will be published due to a Build Failure
Sending e-mails to: 
Finished: FAILURE
.

Вот что я пытался сделать в jenkins

    .
  • пытался установить дополнительное поведение «Усовершенствованное поведение подмодуля», без успеха.
  • пытался настроить новый шаг перед запуском тестов с phpunit:

git submodule update --init --recursive

    .
  • попытался установить репозиторий Git на проекте моей подмодулы, а не только главный репозиторий, который тоже проверяется, не повезло.

Все они вызывают ошибку, которая говорит, что Дженкинс не может найти репозиторий подмодуля.

Любые идеи того, как я могу решить это?

(имя пользователя, пути и репозитории верны, я только что изменил их на публикацию здесь)

Это было полезно?

Решение

решено.В моих учетных данных я использовал прямой ключ SSH (опция «Ввод напрямую»), вместо того, чтобы вводить в файл.

Я просто поставил ключи (публичные и частные) в ~ / .ssh и изменил свои учетные данные на опцию "из мастера jenkins ~ / .ssh".

Проблема заключалась в том, что подмодуль не использовал учетные данные, которые я указал на основной репозиторий, он пытался использовать клавишу SSH по умолчанию (.ssh / id_rsa).

Другое решение - пропустить -i my_key на шаг подмодуля git (нужна только, если ваша клавиша не находится в пути по умолчанию (~ / .ssh / id_rsa))

Также не забудьте дать правильные разрешения на ваши ключи, в моем случае мне пришлось:

chown apache ~/.ssh/id_rsa*
chmod 700 ~/.ssh/id_rsa*
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top