Как установить плагин в Jenkins вручную


119

Установка плагина из Центра обновлений приводит к:

Проверка подключения к Интернету Не удалось подключиться к http://www.google.com/ . Возможно, вам нужно настроить HTTP-прокси? Ошибка развертывания плагина - подробности hudson.util.IOException2: не удалось загрузить с http://updates.jenkins-ci.org/download/plugins/deploy/1.9/deploy.hpi

Можно ли загрузить плагин и установить его вручную в Jenkins?

Ответы:


156

Да, ты можешь. Загрузите плагин (файл * .hpi) и поместите его в следующий каталог:

<jenkinsHome>/plugins/

После этого вам нужно будет перезапустить Jenkins.


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

8
Если вы вынуждены установить плагин вручную (по какой-либо причине), мне не известен какой-либо другой метод, который также позаботится об автоматической установке зависимостей.
Михаэль Кюллер

Как я могу узнать, где находится дом Дженкинса? Используя whereis jenkins?
Black

4
Я нашел его, /var/lib/jenkinsоднако, уже есть много плагинов, но они заканчиваются .jpiна .hpi. Что я должен делать?
Black

3
Дженкинс переименовывает файл плагина во время установки с .hpi на .jpi таким образом, он может обнаружить новый плагин для установки поверх существующего. См. Здесь: stackoverflow.com/questions/30658375/…
Майкл Кюллер,

137
  1. Скачайте плагин.
  2. Внутри Jenkins: Manage JenkinsManage Plugins → Есть вкладка Advanced и на этой странице есть возможность загрузить плагин (расширение файла должно быть hpi).

Иногда, когда вы загружаете плагины, вы можете получить файлы (.zip), затем просто переименовать их в (.hpi) и использовать пользовательский интерфейс для установки плагина.


4
Это, вероятно, «безопаснее», чем stackoverflow.com/a/14953877/627806, поскольку выполняется через интерфейсную часть.
Джон Берджесс

Иногда это необходимо, если Jenkins не запускается из-за неправильной конфигурации плагина. Например, из-за этой проблемы мне пришлось выполнить установку вручную .
dskrvk

1
Я попытался установить этот плагин, изменил zip на hpi и попытался загрузить из расширенной опции в управлении плагинами, но выдает ошибкуA problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.

Какую проблему вы обнаружили? Можем ли мы узнать фактическое исключение?
jfcorugedo

1
Обратите внимание, что nginx накладывает ограничение на размер (см.: [ Issues.jenkins-ci.org/browse/JENKINS-32575] ), поэтому вам может потребоваться либо изменить конфигурацию nginx, либо загрузить вручную.
Моше Цви

22

Если вы используете Docker, вам следует прочитать этот файл: https://github.com/cloudbees/jenkins-ci.org-docker/blob/master/plugins.sh

Пример родительского Dockerfile:

FROM jenkins
COPY plugins.txt /plugins.txt
RUN /usr/local/bin/plugins.sh /plugins.txt

Plugins.txt

<name>:<version>
<name2>:<version2>

Я пытался решить эту проблему для докера и наткнулся на этот ответ. Прекрасно работает!
muglio 08

это зависит от способа установки jenkins. В моей установке (apt-get install jenkins) мне не удалось найти файл plugin.sh. Однако если мы начнем ОТ Дженкинса, то он существует.
хадайтуллах 09

обратите внимание, что вы должны включить плагин и все его зависимости в plugins.txt, поскольку он не разрешает транзитивные зависимости. Например, у blueocean есть около 10+ зависимостей, которые вам также придется включить вручную ..
code4cause

Как мне использовать этот метод, когда я запускаю докер через прокси? plugins.shневозможно устанавливать плагины, если прокси не настроен в Jenkins. И я не думаю, что есть способ настроить прокси в Jenkins с помощью Dockerfile.
7_R3X 03

13

Я создал простой скрипт, который выполняет следующие действия:

  • Загрузите один или несколько плагинов в каталог плагинов
  • Сканируйте все плагины в этом каталоге на предмет отсутствующих зависимостей
  • также загрузите эти зависимости
  • цикл до тех пор, пока не останутся открытые зависимости

Скрипт не требует запуска jenkins - я использую его для подготовки докер-бокса.

https://gist.github.com/micw/e80d739c6099078ce0f3


URL сейчас не работает. Не могли бы вы сделать репост своего сценария?
Чарльз Морин

11

Обновление для Docker: используйте скрипт install-plugins.sh . Требуется список имен плагинов без расширения -plugin. Смотрите описание здесь .

install-plugins.sh заменяет устаревший plugins.sh, который теперь предупреждает:

WARN: plugins.sh is deprecated, please switch to install-plugins.sh

Чтобы использовать plugins.txt в соответствии с plugins.sh, см. Эту проблему и обходной путь:

RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/plugins.txt | tr '\n' ' ')


10

Иногда, когда вы загружаете плагины, вы можете получить файлы (.zip), затем просто переименовать их с помощью (.hpi), а затем извлечь все плагины и перейти в <jenkinsHome>/plugins/каталог.



4

Принятый ответ точен, но убедитесь, что вы также установили все необходимые зависимости. Установка с использованием интерфейса командной строки или Интернета, похоже, позаботится об этом, но мои плагины не отображались в браузере и не использовались, java -jar jenkins-cli.jar -s http://localhost:8080 list-pluginsпока я также не установил зависимости.


1
Я создал простой список всех необходимых последних версий зависимостей плагинов из Интернета (сканирует все дерево зависимостей): gist.github.com/Luhibited/1a6b8df71425c790361c
Лукаш Виатрак

2

В моем случае мне нужно было установить плагин на автономный сервер сборки, на котором работает Windows Server (версия здесь не имеет значения). Я уже установил Jenkins на свой ноутбук, чтобы заранее проверить изменения, и он работает на localhost: 8080 как служба Windows.

Поэтому, если вы готовы потратить время на установку Jenkins на машине с подключением к Интернету и перенести эти изменения на автономный сервер Jenkins (он работает, подтвержден мной!), Вы можете выполнить следующие шаги:

  • Дженкинс на моем ноутбуке: откройте Jenkins, http: // localhost: 8080
  • Навигатор: Управление Дженкинсом | Скачать плагин без возможности установки
  • Проводник Windows: скопируйте загруженный файл подключаемого модуля, который находится в папке «c: \ program files (x86) \ Jenkins \ plugins» (например, role-strategy.jpi).
  • Вставьте его в общую папку на автономном сервере
  • Остановите службу Jenkins (автономный сервер Jenkins) через службы компонентов, службу Jenkins
  • Скопируйте файл плагина (например, role-strategy.jpi) в папку «c: \ program files (x86) \ Jenkins \ plugins» на сервере (Offline Jenkins).
  • Перезапустите Jenkins и вуаля! Он должен быть установлен.

2

Приведенные ответы работают с добавленными плагинами.

Если вы хотите заменить / обновить встроенный плагин, такой как плагин учетных данных, у которого есть зависимости, тогда вам нужно использовать интерфейс. Для автоматизации использую:

 curl -i -F file=@pluginfilename.hpi http://jenkinshost/jenkins/pluginManager/uploadPlugin

1

Это способ скопировать плагины из одной коробки Jenkins в другую.

Скопируйте каталог плагинов:

scp -r jenkins-box.url.com:/var/lib/jenkins/plugins .

Сжать плагины:

tar cvfJ plugins.tar.xz plugins

Скопируйте их в другой ящик Дженкинса:

scp plugins.tar.xz different-jenkins-box.url.com
ssh different-jenkins-box.url.com "tar xvfJ plugins.tar.xz -C /var/lib/jenkins"

Перезапустите Jenkins.


0

Чтобы установить плагин «git» со всеми его зависимостями:

curl -XPOST http://localhost:8080/pluginManager/installNecessaryPlugins -d '<install plugin="git@current" />'

Здесь установлен плагин git; версия, указанная как @current, игнорируется Jenkins. Jenkins работает через localhostпорт 8080, при необходимости измените его. Насколько мне известно, это самый простой способ установить плагин со всеми его зависимостями «вручную». Проверено на Дженкинсеv1.644

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.