Jenkins - отбросить / сохранить артефакты параметризованной сборки
В Jenkins (или Hudson) я настроил конвейер параметризованных заданий, скажем, A -> B, которые копируют артефакты друг с другом, используя плагин Copy Artifact. Все задания используют один и тот же параметр, например целевую платформу. Каждое задание должно отбрасывать старые сборки и артефакты, чтобы ограничить использование диска, сохраняя только самые последние стабильные артефакты сборки. Я использую параметризованные сборки, чтобы избежать необходимости поддерживать много заданий, которые отличаются только настройкой параметров.
Эта настройка работает только в том случае, если все сборки выполняются друг за другом в конвейере с одинаковыми настройками параметров, и, следовательно, последние артефакты сборки соответствуют настройкам параметров платформы зависимого задания. Теперь, если кто-то сначала строит задание A для платформы x, а затем для платформы y, затем строит B для платформы x, артефакты из A для платформы x уже отбрасываются, и, следовательно, B не может их скопировать.
Есть ли способ сказать Дженкинсу, чтобы он сохранял последние артефакты для каждой сборки с различными параметрами и отбрасывал все остальные?
1 ответ
Решение вручную: скопируйте артефакты из A в каталог, в котором заданы параметры. Задание A очистит каталог перед сборкой - и, таким образом, убедитесь, что устаревшие артефакты не перейдут к заданию B. Задание B очистит каталог после его запуска в любом случае.