Мы используем Jenkins для выполнения инкрементных построений нашего проекта при каждой фиксации в SCM. Мы хотели бы получить отдельные сборки для каждого отдельного коммита. Тем не менее, наивный подход (настройка SCM и использование пост-фиксации для запуска сборки) обнаруживает проблему в следующем сценарии:
- Сработала функция сборки.
- Пока выполняется сборка (это может занять до нескольких минут) два отдельные коммиты для SCM производятся двумя разработчиками.
- Создана новая новая сборка. Он получает изменения от обоих коммитов, сделанные во время предыдущей сборки.
Это "состояние гонки" усложняет поиск того, кто из коммитов нарушил встроенные предупреждения.
В настоящее время используемое решение проверяет изменения в одном задании ( "задание планировщика" ) и запускает другое задание для выполнения фактической проверки и сборки.
Существуют ли какие-либо правильные решения этой проблемы?