Jenkins — плагины не устанавливаются, а задания и функции отсутствуют после обновления.

Я использую последнюю версию Jenkins (v 1.590), LOL, но на официальном сайте Jenkins написано: 1.588. Я на 200% уверен, что видел 1.589 и 1.590 несколько дней назад на официальном сайте загрузки Jenkins (когда я хотел обновить Jenkins до более новой версии).

Это то, что я вижу внизу страницы моего экземпляра Jenkins.

Page generated: Nov 19, 2014 12:07:51 PMREST APIJenkins ver. 1.590

Теперь проблема, с которой я столкнулся, такова: поскольку я недавно обновил несколько плагинов и сам Jenkins, некоторые задания отсутствуют (я вижу, что это может произойти во время обновлений, но обновление до последней версии Jenkins должно исправить это, и я два шага впереди того, что у Дженкинса на их официальном сайте, справа):

  1. Я иду в «Управление Jenkins», «Управление плагинами», «Перейти на вкладку «Доступно», отмечаю кучу плагинов для установки (Artifactory, плагин проекта Maven и т. д.) и перезапускаю Jenkins с помощью интерфейса Jenkins GUI (что происходит автоматически после загрузки/установки плагинов в Jenkins GUI) . После перезапуска я делаю то же самое, чтобы увидеть, отображается ли теперь плагин на вкладке «Установлено» или нет, но, к моему счастью, он все еще отображается на вкладке «Доступно» и НЕ указан на вкладке «Установлено». Если я открою конфигурацию существующего задания ИЛИ создам новое задание, функции, доступные благодаря установленным плагинам, НЕ будут видны, т.е. если я установил плагин Maven Project, я не вижу возможности создать стиль Maven. (2/3) задания проекта при создании нового задания.

Я вижу действительные файлы .jpi для соответствующих плагинов в папке плагинов в JENKINS_HOME, а также есть несколько закрепленных файлов. Я пробовал это пару раз, но после установки плагины не видны. Установка не дает никаких ошибок в течение всей операции.

Файл системного журнала Jenkins (после перезапуска Jenkins) прилагается (ПРИМЕЧАНИЕ. Используйте кнопку медленной загрузки, чтобы просмотреть/загрузить этот файл журнала).

Загрузить со SpeedyShare или [код]http://speedy.sh/x6vd8/Jenkins.System.Log[/code]


person AKS    schedule 19.11.2014    source источник


Ответы (2)


Проблема была с разрешениями плагинов и расширенными папками.

Если вы посмотрите в папке плагинов, вы увидите файлы .jpi или .hpi (Jenkins jpi и Hudson hpi).

Если у меня есть awesomeplugin.jpi, тогда будет папка с названием awesomeplugin.

Воспользовавшись подсказкой Слава, я провел кучу проверок и обнаружил, что из более чем 70 установленных мною плагинов немногие из них каким-то образом получили «root» и «root» в качестве своего владельца и группы для своих файлов .jpi и соответствующей папки.

Теперь лучшее решение, которое можно попробовать (самый безопасный подход), — это chown -R yourvalidjenkinsuser:yourvalidgroup * и chmod -R 755 * от имени пользователя root. Перед этим остановите/выключите jenkins.

Я пошел еще дальше, я сначала сделал резервную копию файлов конфигурации / всей папки jenkins JENKINS_HOME. Затем я перешел в папку плагинов и удалил все соответствующие папки .jpi, используя учетную запись root или как владелец этих папок (ПРИМЕЧАНИЕ, я не удалял файлы .jpi). Затем я запустил две вышеуказанные команды (chown/chmod) и запустил Jenkins.

РЕЗУЛЬТАТ:

  1. когда я иду в Дженкинс> Новый элемент (чтобы создать новую работу), Шензи, появляются все различные типы вариантов работы (включая задание типа Maven2/3, которое, как я обнаружил, пропало, и некоторые другие, такие как «Мульти- проект конфигурации» и тип задания «Многозадачный проект»... все отсутствовали, и теперь они появляются.

  2. ОК, я также проверил одну из старых работ, перешел к ее конфигурации и Шензи!! Теперь я вижу все функции там, т. Е. (Функция плагина Promoted Job «Promtoe строит, когда ..» Флажок. Эта функция, которую я настроил когда-то назад, пропала, но теперь она снова появляется.

  3. Немногие из заданий Maven, которые я создал в прошлом с помощью Maven Release Plugin и Release Plugin POC, содержали множество шагов. Я обнаружил, что на этапе сборки ничего не было (после всего этого беспорядка), но после решения, приведенного выше, теперь я вижу, что все вернулось. Я вижу конфигурации и этапы сборки, заполненные по мере их установки.

Я надеюсь, что это может помочь кому-то, кто сталкивается с подобной проблемой.

Тем не менее, я не знаю, почему моя версия Jenkins — 1.590 (которую Jenkins недавно обновил автоматически), а сайт Jenkins сегодня говорит, что их последний артефакт Jenkins — версия 1.588 (кажется загадкой).

person AKS    schedule 20.11.2014

Когда вы говорите «допустимые файлы .hpi», вы на самом деле проверяли, что они действительны? Вы должны иметь возможность переименовать их в .zip и распаковать как действительный архив. Проблема, с которой я часто сталкиваюсь, — это система фильтрации сетевого уровня, которая есть у нас в офисе. Иногда он перехватывает звонки Дженкинса со страницы входа в систему фильтрации, а не с любого загружаемого интернет-ресурса.

Если ваши файлы .hpi не являются действительными zip-архивами, откройте их в текстовом редакторе и посмотрите, имеют ли они форму html-страницы/ответа.

person Slav    schedule 20.11.2014
comment
На самом деле файлы .jpi (вместо .hpi). Я проверю это. Вы не думаете, что если они не являются допустимым форматом zip-файла, то Дженкинс даже не запустится? - person AKS; 20.11.2014
comment
Хорошо, я проверил все файлы .jpi (в каталоге плагинов). Все они действительны. Выполнение следующей команды в папке плагинов дает 0 -- файл -- 0 (где файл - это фактическое имя файла плагина .jpi). Команда, которую я выполнил: for f in ls -1 *.jpi; сделать файл $f 1›/dev/null 2›rt1=$?; unzip -l $f 1›/dev/null 2›rt2=$?; эхо $rt1 -- $f -- $rt2; Выполнено - person AKS; 20.11.2014
comment
У вас была возможность увидеть, в чем может быть проблема, просмотрев системный журнал, который я прикрепил к своему сообщению. Похоже, это один из плагинов (либо несовместимый, либо портящий весь Дженкинс). - person AKS; 20.11.2014
comment
Действительно, мой скрипт для извлечения плагинов не следовал ответам на перенаправление (требуется curl -L), поэтому я получал HTML-страницу перенаправления в своих .hpi файлах. Спасибо! - person Alex S; 12.11.2016