Inkognitoss
@Inkognitoss
Full-stack разработчик.

Почему Jenkins бесконечно запускает джобу?

Создана джоба со свободной конфигураций и настроено управление исходным кодом.
В качестве Branches to build (Branch Specifier (blank for 'any')) указано
:^origin\/hotfix\-order\-html\-(.*)$
Мне казалось, что это отлично работает, но потом заметил, что джоба самопроизвольно запускается.
Триггером сборки, конечно, является "Опрашивать SCM об изменениях", по расписанию
H/10 * * * *

Может быть кто-то может подсказать, мне нужно, чтобы джоба реагировала на новые ветки или изменения в текущих по шаблону выше. В целом это работает, но почему он запускает сборку без изменении в репозитории - я не знаю.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
Inkognitoss
@Inkognitoss Автор вопроса
Full-stack разработчик.
В итоге пришлось воспользоваться вебхукой.

По какой-то причине, если я использую регулярное выражение, переменная окружения $GIT_BRANCH будто содержит неактуальный матч ( почему-то ветка предыдущей сборки джобы). И судя по всему, триггер на изменение в SCM бесконечно срабатывает.

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

также на всякий случай в shell-скрипте, котрый запускаю в рамках конкретной джобы, делаю проверку на наличие $gitlabBranch

if [ -n "${gitlabBranch}" ]; then
	echo "gitlabBranch is set ${gitlabBranch}"
else
    echo "gitlabBranch isn't set"
    exit 1
fi


это понадобилось для того, чтобы джоба не продолжала сборку, если $gitlabBranch отсутствует (например если запустить её в ручную). Раньше (когда я думал, что все работало и так) при ручной сборке просто запускалась сборка последней совпавшей по регулярке ветки. Если разберусь, в чем дело и где я допустил ошибку - поделюсь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы