Назад | Перейти на главную страницу

Запуск сборок Hudson с более низким приоритетом процесса

В моем офисе у нас есть старый сервер с Hudson (1.395) и набор других вещей (JIRA и SVN - два важных). Когда Husdon запускает сборки, замедление работы сервера очень заметно.

Я пытался найти способ улучшить процессы сборки, которые запускает Хадсон (мы используем maven). Кажется, для этого нет варианта. Я не хочу, чтобы запущенная копия Tomcat Hudson имела более низкий приоритет, поэтому я пытался найти способ применить ее только к процессу сборки. Без замены / добавления серверов / подчиненных, это единственные варианты, которые я видел:

  1. Я могу заменить плагин maven своим собственным, который запускает Java через nice. Кажется, это долгий путь для такого небольшого изменения, хотя я обнаружил, где в коде это изменение будет (в MavenProcessFactory.java, около строки 110). Это будет бремя обслуживания

  2. Я могу указать Хадсону на поддельный каталог Java. Сделав это, я мог бы заменить Java сценарием оболочки, который вызывал бы реальную Java, переименованную.

  3. Я мог бы настроить какой-то скрипт, например cron, но мне нужно было бы ловить каждый подпроцесс, чтобы сделать это правильно

Кто-нибудь делал что-то подобное? Вы знаете другой вариант?

Вариант №3 - явный взлом. №2 избавляет меня от необходимости прикасаться к коду (так что мне не придется беспокоиться о будущих обновлениях), но непонятно, что происходит. Исправление кода потребовало бы некоторой поддержки, но я мог бы прояснить, как я запускаю Maven, или даже сделать удобство настраиваемым для каждого проекта.

Не имея возможности в самом программном обеспечении, которая позволяет вам это делать, вы в значительной степени обрисовали в общих чертах три доступных варианта, позволяющих сделать это без особых усилий.
Рассмотрим эти варианты более внимательно:

Вариант 3 - отстой. Не делай этого. Слишком сложно и слишком много возможностей, чтобы облажаться.

Вариант 1 меньше отстой - вам просто нужно не забывать патчить каждый раз при обновлении, что раздражает.

Вариант 2 - это путь наименьшего всасывания. Я бы так и поступил.
Да это не так сразу очевидно что происходит, но если ты документ что вы сделали (и документация является в сразу очевидном месте) неплохое решение.