Исправление / исправление сборки и доставки подход

Мы находимся в процессе адаптации нашей процедуры сборки и выпуска одного из наших продуктов на основе Java для поддержки выпусков исправлений / исправлений.

Сегодня мы поставляем полный пакет установки (который представляет собой набор RPM-пакетов, завернутых в ISO) из нашего конвейера сборки. Тем не менее, мы стремимся также поддерживать дополнительные / более мелкие детали обновлений / патчей.

Для простоты на начальном этапе мы планируем иметь более детализированные пакеты RPM и упаковать подмножество (только измененные в объем выпуска) этих RPM в выделенный ISO-файл исправления вместе с полной установочной ISO. (Мы также рассмотрели другие варианты, такие как RPM для двоичных разностных версий - создание отдельного RPM с исправлением и т. Д.)

Я хотел бы услышать о том, как вы управляете конвейером сборки - упаковкой и управлением версиями (поскольку это также является основной проблемой управления выпусками) для поддержки такого рода развертываний исправлений?

1 ответ

Я хотел бы услышать о том, как вы управляете своим конвейером сборки - упаковка и контроль версий

Я ввел (рабочую) концепцию:

Отчет об ошибках в качестве идентификации, такой как bug711, для всех источников, которых коснулся, чтобы исправить эту ошибку, будет помечен (Контроль версий) отчетом об ошибке №.

Этот тег можно использовать для извлечения всех источников, необходимых для создания патча (в случаях, когда речь идет о статических файлах, таких как html,js,css и т. Д.), А также для объединения веток в головную ревизию.

В случае java-кода минимальным для развертывания будет артефакт (jar,ear,war-file). Который требует перезагрузки приложения. В случае сервера приложений JBoss мы обнаружили, что "развернутое" развертывание позволяет нам устанавливать патчи без простоев.

Это действительно зависит от серверной среды и типа приложений, которые лучше всего подойдут для вас. Боюсь, что нет единой лучшей практики.

Другие вопросы по тегам