Я переместил несколько старых заданий Jenkins на новые, используя конвейерную функцию, чтобы иметь возможность интегрировать конфигурацию Jenkins в репозитории git. Он работает нормально, но я спрашиваю себя, есть ли способ уменьшить количество проверок, которые происходят при построении.
Настройка
- У меня есть многоженчатое задание Jenkins, связанное с моим репозиторием git
-
У меня есть файл Jenkins в моем репозитории git
#!groovy node { stage 'Checkout' checkout scm // build project stage 'Build' ... }
Проблема
Когда я нажимаю на удаленный Branche BRANCH_1, срабатывает многозадачное задание jenkins, и я понимаю, что следующие шаги:
- многочленное задание делает
git fetch
для индексации ветвей и запускает задание, соответствующее моей удаленной ветке: BRANCH_1_job - BRANCH_1_job делает
git checkout
для извлечения файла Jenkins из активированной ветки - выполняется Jenkinsfile и делает сам
checkout scm
. Если я этого не сделаю, я не смогу построить свой проект, потому что нет источника.
Итак, для построения моей ветки я заканчиваю одним git fetch
и двумя git checkout
.
Вопросы
- Правильно ли я понимаю процесс? Или я что-то пропустил?
- Есть ли способ уменьшить число
git checkout
? Когда я проверяю официальные примеры , все они делают checkm scm как первый шаг. Я лично подумал бы, что мне не нужно это делать, потому что работа jenkins уже должна была сделать чек, чтобы получить Jenkinsfile (поэтому мои источники должны быть здесь как-то). - Разве вы не думаете, что эти многочисленные проверки могут привести к плохой производительности, как только репозиторий git содержит большое количество ссылок?
Спасибо вам всем