Дженкинс не очень хорошо играет с частным репозиторием GitHub (Windows) - PullRequest
5 голосов
/ 30 ноября 2011

Кажется, я не могу заставить моего Jenkins CI работать с Github.

У меня был сбой команды clone, но это было связано с ключами, поэтому я вошел в систему как служебная учетная запись (пользователь Jenkins работает как служба Windows) и выполнил команду clone.Все хорошо в капоте.

Однако, когда я хочу запустить загрузку, чтобы получить последнюю версию, она не закончится.Он просто сидит там.Я пробовал через плагин Git для Jenkins, а также с помощью сценария командной строки Windows.Ни одна из них не работает.Однако, если я открою командную строку и наберу команду, она будет работать!

Так как мне заставить его работать через Jenkins?

Я запускаю этот скрипт:

set
"C:\Program Files (x86)\Git\bin\git.exe" fetch -t ssh://git@github.com/OrgName/MyRepo.git +refs/heads/*:refs/remotes/origin/*
exit 0

и он привязывается к команде fetch, никогда не выходя из нее.*

Есть ли у кого-нибудь предложения?

1 Ответ

4 голосов
/ 30 ноября 2011

Похоже, что msysGit застрял, пытаясь найти один из его компонентов, используемых во время операции выборки.

На самом деле Git не является ни одним исполняемым файлом. Это набор небольших инструментов, которые отлично справляются со своей задачей, только будучи вместе взятыми. Запуск Git в Windows из командной строки bash делает это возможным, но когда вы работаете через командную строку Windows или в пакетных файлах, Force может быть не с вами.

Я думаю, вы должны проверить, где вы установили msysGit с опцией «Запустить Git из командной строки Windows». В этом случае все необходимые части Git будут добавлены в системную переменную PATH , и git.exe сможет получить к ней доступ из пакетных файлов, поэтому он должен исправить вашу инструкцию fetch.

...