Проблемы с git в Jenkins

less than 1 minute read

В ходе подключения git репозитория к Jenkins получил следующуу ошибку:

Failed to connect to repository : Command 'git config -local credential.username username' returned status code 129:  
stdout:  
stderr: error: unknown option 'local'  
usage: git config [options]

Ошибка вызвана тем, что Jenkins требует git версии 1.8+, а в репах CentOS 6.5 доступен только 1.7. Где-то на просторах интернета пишут, что в репе rpmforge-extras есть новая версия. Проверил - нету.

Я решил долго не мучаться и собрать git из исходников.

Подготовка:

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker -y

Сам процесс:

wget https://www.kernel.org/pub/software/scm/git/git-2.6.1.tar.xz  
tar xf git-2.6.1.tar.xz  
cd git-2.6.1

Собираем:

make prefix=/usr/local/git all

Устанавливаем:

make prefix=/usr/local/git install

Добавляем /usr/local/git/bin в переменное окружение PATH и применяем изменения:

echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc  
source /etc/bashrc

Проверить версию git можно следующей командой:

git -version

Осталось подкрутить настройки Jenkins. В web-интерфейсе переходим в Manage Jenkins -> Configure System
Screenshot from 2015-10-09 12:32:24

Ищем секцию Git и устанавливаем нормальное значение для Path to Git executable (/usr/local/git/bin/git)
Screenshot from 2015-10-09 12:41:26

Categories:

Updated: