Как предотвратить перезапись выпущенных артефактов (версий, не являющихся снимками) в репозитории maven на hudson

Описание проблемы

Рассмотрим случай, когда maven используется на Hudson .

Теперь кто-то выполнил проверку проекта, изменил некоторые файлы, но случайно использовал тот же идентификатор артефакта и номер версии (не снимок).

Затем он / она построил этот проект на hudson и выполнил установку maven. Измененный артефакт теперь находится в hudson .m2. Любой другой проект, зависящий от него, будет построен с измененным артефактом. Никто не узнает этого, если компиляция не завершится неудачно. Несмотря на то, что правильный артефакт находится в центральном репозитории, он никогда не используется, потому что модифицированный артефакт берется из .m2, когда hudson начинает сборку.

Итак, я ищу способ предотвратить эту случайную человеческую ошибку.

  1. В любом случае, чтобы отозвать разрешения на установку maven для версий, не являющихся моментальными снимками (выпущенных артефактов) на hudson?
  2. Любой способ сравнить контрольные суммы .m2 в hudson и в удаленном центральном репозитории, чтобы ошибки контрольной суммы могли генерировать предупреждения или сбой сборки ?

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

Очистка центрального репозитория или использование отдельного репозитория для каждого задания на Hudson приведет к увеличению времени сборки и использования дискового пространства соответственно.

Любая помощь будет принята с благодарностью.

7
задан Romain Linsolas 5 December 2011 в 22:35
поделиться