Як встановити плагін в Jenkins вручну


119

Встановлення плагіна з центру оновлення призводить до:

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

Чи можна завантажити плагін і встановити його вручну в Дженкінс?

Відповіді:


156

Так, ти можеш. Завантажте плагін (* .hpi файл) і покладіть його в таку каталог:

<jenkinsHome>/plugins/

Після цього вам потрібно буде перезапустити Дженкінса.


7
Цей метод не встановлює автоматично жодних плагінів, які є залежностями встановленого плагіна. Як такий я не рекомендую цього, і я голосую з цієї причини. Будь ласка, дайте мені знати, якщо я помиляюсь, і я скасую свій голос.
Farrukh Najmi

8
Якщо ви змушені встановлювати плагін вручну (з будь-якої причини), я не знаю жодного іншого методу, який також буде турбуватися про автоматичну установку залежностей.
Майкл Кюллер

Як я можу дізнатися, де знаходиться дім джинкінів? За допомогою whereis jenkins?
Чорний

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

3
Дженкінс перейменовує файл плагіна під час встановлення з .hpi в .jpi, таким чином він може виявити новий плагін для встановлення над існуючим. Дивіться тут: stackoverflow.com/questions/30658375 / ...
Michael Kuller

137
  1. Завантажте плагін.
  2. Всередині Дженкінса: Керування ДженкінсомКерування плагінами → Є вкладка « Додатково», і на цій сторінці є можливість завантажити плагін (розширення файлу повинно бути hpi).

Іноді, коли ви завантажуєте плагіни, ви можете отримати (.zip) файли, а потім просто перейменувати на (.hpi) та використовувати інтерфейс для встановлення плагіна.


4
Це, мабуть, "безпечніше", ніж stackoverflow.com/a/14953877/627806, оскільки він проходить через передню частину.
Джон Берджесс

Іноді це необхідно, якщо Дженкінс не запускається через неправильну конфігурацію плагіна. Наприклад, мені довелося зробити встановлення вручну через цю проблему .
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>

Я намагався вирішити це на докера і наткнувся на цю відповідь. Чудово працює!
мальо

це залежить від способу встановлення джинкінів. Під час встановлення (apt-get install jenkins) я не зміг знайти файл plugin.sh. Однак якщо ми починаємо з ДЖЕНКІН, то це існує.
хадайтулла

зауважте, що ви повинні включити плагін та всі його залежності в plugins.txt, оскільки він не вирішить перехідні залежності. Наприклад, у blueocean є 10+ залежностей, які ви також повинні включати вручну ..
code4 jer

Як використовувати цей метод, коли я запускаю докер за проксі? plugins.shне може встановити плагіни, якщо проксі-сервер не налаштований у Jenkins І я не думаю, що існує спосіб налаштування проксі-сервера в Дженкінсі за допомогою Dockerfile.
7_R3X

13

Я створив простий сценарій, який робить наступне:

  • Завантажте один або декілька плагінів до каталогу плагінів
  • Скануйте всі плагіни в цьому каталозі на наявність відсутніх залежностей
  • завантажте і ці залежності
  • циклу, поки не залишиться відкритих залежностей

Сценарій не вимагає запуску джинкінів - я використовую його для надання док-коду.

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

Прийнята відповідь точна, але переконайтесь, що ви також встановите всі необхідні залежності. Встановлення за допомогою CLI або Інтернету, мабуть, вирішило це, але мої плагіни не відображалися в браузері або використовувались, java -jar jenkins-cli.jar -s http://localhost:8080 list-pluginsпоки я також не встановив залежності.


1
Я створив простий суть, щоб перерахувати всі необхідні останні версії залежностей від плагінів з Інтернету (сканує все дерево залежностей): gist.github.com/Lucasus/1a6b8df71425c790361c
Łukasz Wiatrak

2

У моєму випадку мені потрібно було встановити плагін на офлайн-сервер збірки, на якому працює Windows Server (версія тут не має значення). Я вже встановив Дженкінс на своєму ноутбуці, щоб заздалегідь перевірити зміни, і він працює на localhost: 8080 як сервіс Windows.

Тож якщо ви готові витратити час, щоб встановити Дженкінс на машині з підключенням до Інтернету та перенести ці зміни на офлайн-сервер Дженкінс (він працює, підтверджений мною!), Це наступні кроки:

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

2

Надані відповіді працюють, із доданими плагінами.

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

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

1

Це спосіб копіювання плагінів з однієї скриньки Дженкінса в іншу.

Скопіюйте через каталог плагінів:

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"

Перезапустіть Дженкінса.


0

Щоб встановити плагін "git" з усіма його залежностями:

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

Тут встановлений плагін git; версія, вказана як @currentігнорується Дженкінсом. Дженкінс працює на localhostпорту 8080, міняйте це за потребою. Наскільки мені відомо, це найпростіший спосіб встановити плагін з усіма його залежностями «вручну». Випробували на Дженкінсіv1.644

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.