Дружим jenkins c git

Недавно столкнулся с проблемой. Если нужно в jenkins выкачать git репозиторий (используя специальный плагин), а потом изменить, закоментить и запушить, то выскакивает ошибка. У него возникает «когнитивный диссонанс» между сессиями, что выкачивали и теми, что редактируют и отгружают. Ибо одно это один модуль jenkins, а второе — уже другой модуль для выполнения shell команд.
А именно он банально ругается, что репозиторий выкаченный пустой и ничего коммитить, а тем более отгружать он не собирается.Примерно в таком вот виде:

git commit -am 'add new files'

On branch master
nothing to commit, working directory clean
git push

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

Для начала проясню, что за плагин в jenkins использую — Git plugin

git_download_only_one_branche

Вроде все интуитивно понятно. Вставляем ссылку на git репозиторий и выбираем подходящие ключи (если нужно для выкачки) и указываем ветку с которой выкачается.

Дальше модуль shell:

jenkins_git_1

git pull
git add files
git commit -am 'Add files'
git push

Выполнение этих команд вроде должно давать удачный результат, но нет, ошибки о которых писал выше.

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

jenkins_git_2

git branch temp
git checkout temp
git branch -f master temp
git checkout master
git pull origin master
git add files
git commit -am 'Add files'
git push origin master
git status

В таком порядке, всё отлично работает.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s