Задания Hudson и подчиненный узел отсутствуют после обновления

Где и как хранятся рабочие места и ведомая информация Hudson?

Я случайно отменил обновление Hudson сегодня. Это не позволило бы мне продолжить обновление; только для перехода на предыдущую версию, а затем снова обновить. После перехода на более низкую версию два задания, которые я создал в недавнем прошлом, исчезли с панели мониторинга вместе с ведомым узлом, который я создал для одного из этих заданий, и недавно удаленное задание появилось на панели мониторинга. После обновления задания и узлы находятся в том же состоянии.

Что случилось? Могу ли я восстановить свои недавние задания и узлы, и как мне это сделать? Пожалуйста, имейте в виду, что, хотя я хорошо знаю C/C++, веб-сервисы находятся за пределами моей области, и я не знаю, что такое банка или война... Я просто следовал онлайн-инструкциям по установке и настройке Hudson, и это работал. Я хочу избежать простого воссоздания этих рабочих мест; установка одного из них была менее тривиальной.

Больше информации: в конфигурации домашний каталог указан неверно; он думает, что HOME - это /root/ вместо /home/hudson. Как это изменилось, и как я могу изменить это обратно?

Предыдущая версия Hudson - 1.379. Это в настоящее время работает 1.381. Я бегу на RHEL 5.

Когда я просматриваю каталог.hudson/jobs, там присутствуют оба последних задания, а ранее удаленного задания нет. В этих каталогах вакансий отсутствуют каталоги "рабочей области".

2 ответа

Решение

Как вы заметили, конфигурация задания хранится в HUDSON_HOME/jobs/[name]/config.xml,

Конфигурация ведомого хранится в основном конфигурационном файле Hudson, HUDSON_HOME/config.xml,

Я не уверен, почему Хадсон не поднял работу, когда вы перезапустили после обновления. Проверка журнала Hudson может дать подсказку, обычно /var/log/hudson/hudson.log,

Если в ваших заданиях присутствуют файлы config.xml, возможно, Hudson сможет перечитать их, если вы перезагрузите конфигурацию (Управление Hudson -> Перезагрузить конфигурацию с диска). Если Хадсон по-прежнему не распознает их (и файл конфигурации присутствует), вам лучше всего, вероятно, воссоздать задания, вручную извлекая из файла конфигурации все, что вы можете (имея в виду, что экранирование XML применяется к текстовым полям, таким как сборка). команд).

Я получил полезную подсказку, когда снова посетил страницу "Управление Гудзоном" и увидел сообщение, что у меня есть данные в старом и нечитаемом формате. Это говорит о том, что Хадсон руководил.war, который отличался от того, который использовался совсем недавно. Поэтому я искал на диске файлы "hudson.war" и нашел два; один из нескольких недель назад и один из нескольких месяцев назад. Более новый находится там, где я ожидал его найти, а более старый - где-то еще. Я переименовал старый. Кроме того, у меня есть скрипт start-hudson.sh, я добавил в этот сценарий "export HUDSON_HOME=/home/hudson" и использовал его для перезапуска hudson. И вот, мои новые рабочие места вернулись и работают.

Я бы подумал, что простое присвоение имени переменной HUDSON_HOME сделало бы это, но я сделал это первым и перезапустил Гудзон, но без радости. Только после того, как я переименовал более старую версию.war AND и установил переменную окружения, я нашел исправление. Я полагаю, что для более старого.war-файла был установлен корневой каталог HUDSON_HOME и что каким-то образом этот.war запускался, но версия, показанная на странице, была текущей версией. Я не понимаю этого, но я счастлив вернуться в бизнес.

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