#git #jenkins #jenkins-pipeline #bitbucket
#git #дженкинс #дженкинс-конвейер #bitbucket
Вопрос:
Я настраиваю конвейер CI / CD для репозитория BitBucket. До сих пор мне удавалось настроить Jenkins на создание образа Docker каждый раз, когда появляется PR, который затем будет отображаться как статус успеха или неудачи в разделе «Сборки» рядом с PR следующим образом:
Как у команды, у нас есть правило для объединения только PR-файлов с одним коммитом — это означает, что разработчику нужно объединить их коммиты в один коммит, используя что-то вроде git rebase
. Я хочу где-нибудь увидеть статус pass или fail, указывающий, что PR имеет несколько коммитов и его необходимо удалить. Прямо сейчас мы просто смотрим на коммиты и отклоняем все, что содержит более одного коммита, но было бы неплохо, если бы слияние было предотвращено для PR с несколькими коммитами или, по крайней мере, показывало проход или сбой, как на скриншоте выше.
Я знаю, что в BitBucket есть нечто, называемое «Проверки слиянием». Это то, что я ищу? Если да, то как мне это настроить? Если нет, стал бы я делать это в Jenkins? Если да, то как?
В конечном счете, мой вопрос заключается в следующем: Как я могу настроить этот репозиторий или конвейер Jenkins для проверки наличия нескольких коммитов при отправке PR?
Комментарии:
1. Я проверяю код поэтапно по мере работы, а затем отправляю PR, когда заканчиваю. Этот PR может содержать 1 — N коммитов в этой ветке. В Gitlab есть возможность
squash
объединить несколько коммитов в один во время слияния. Может быть, это то, чего вы хотите от BitBucket? bitbucket.org/blog/git-squash-commits-merging-bitbucket2. @AdrianJ.Moreno это хороший ресурс — я не знал о опции сквоша слияния. Теперь мне интересно, почему многие разработчики считают перебазирование лучшей практикой для очистки истории коммитов, когда merge squash делает по существу то же самое.