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
このメソッドは、インストールされるプラグインの依存関係であるプラグインを自動的にインストールしません。したがって、私はそれをお勧めしません。このため、私は反対票を投じています。私が間違っている場合はお知らせください。反対票を取り消します。
Farrukh Najmi 2017

8
プラグインを手動でインストールする必要がある場合(何らかの理由で)、依存関係を自動的にインストールする他の方法も知りません。
MichaelKüller2017

ジェンキンスの本拠地はどこにあるのか、どうしたらわかりますか?を使用してwhereis jenkins
ブラック

4
/var/lib/jenkinsしかし、私はそれを見つけました、すでに多くのプラグインがありますが、.jpi代わりにで終わり.hpiます。私は何をすべきか?
ブラック

3
Jenkinsは、インストール中にプラグインファイルの名前を.hpiから.jpiに変更します。これにより、既存のプラグインを上書きしてインストールする新しいプラグインを検出できます。ここを参照してください:stackoverflow.com/questions/30658375/...
マイケルKüller

137
  1. プラグインをダウンロードします。
  2. Jenkinsの内部:Jenkinsの管理プラグインの管理Advancedと呼ばれるタブがあり、そのページにはプラグインをアップロードするオプションがあります(ファイルの拡張子はhpiでなければなりません)。

場合によっては、プラグインをダウンロードするときに(.zip)ファイルを取得してから(.hpi)に名前を変更し、UIを使用してプラグインをインストールします。


4
これはフロントエンドを経由するため、おそらくstackoverflow.com/a/14953877/627806よりも「安全」です。
Jon Burgess

プラグインの設定ミスによりJenkinsが起動しない場合、これが必要になることがあります。たとえば、この問題のために手動でインストールする必要がありました。
dskrvk 2016年

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 16

1
nginxによって課せられるサイズ制限があることに注意してください([ issues.jenkins-ci.org/browse/JENKINS-32575]を参照)。そのため、nginx設定を変更するか、手動でアップロードする必要がある場合があります。
Moshe Zvi 2017

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 2016年

jenkinsのインストール方法によって異なります。私のインストール(apt-get install jenkins)では、plugin.shファイルが見つかりませんでした。ただし、FROM jenkinsから開始すると、存在します。
hadaytullah 2016年

推移的な依存関係は解決されないため、plugins.txtにプラグインとそのすべての依存関係を含める必要があることに注意してください。例えば、blueoceanがあなたも手動で含まれなければならないでしょう10+依存関係のように持っている...
code4cause

プロキシの背後でdockerを実行しているときにこの方法を使用するにはどうすればよいですか?plugins.shJenkinsでプロキシが設定されていない場合、プラグインをインストールできません。また、Dockerfileを使用してJenkinsにプロキシを設定する方法はないと思います。
7_R3X 2018年

13

次のような簡単なスクリプトを作成しました。

  • プラグインディレクトリに1つ以上のプラグインをダウンロードします
  • そのディレクトリ内のすべてのプラグインをスキャンして、欠落している依存関係を探します
  • この依存関係もダウンロードします
  • 開いている依存関係がなくなるまでループする

このスクリプトでは実行中のjenkinsは必要ありません-私はそれを使ってドッカーボックスをプロビジョニングします。

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


URLが壊れています。スクリプトを再投稿していただけますか?
Charles Morin

11

Dockerの更新:install-plugins.shスクリプトを使用します。プラグイン名から「-plugin」拡張子を除いたリストを取得します。こちらの説明をご覧ください

install-plugins.shは、警告を表示する非推奨のplugins.shを置き換えます。

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

plugins.shに従ってplugins.txtを使用するには、この問題とこの回避策を参照してください。

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


10

プラグインをダウンロードするときに、(。zip)ファイルを取得し、(。hpi)に名前を変更して、すべてのプラグインを抽出して<jenkinsHome>/plugins/ディレクトリに移動する場合があります。



4

受け入れられた回答は正確ですが、必要な依存関係もすべてインストールしていることを確認してください。CLIまたはWebを使用したインストールでこれが処理されるようですが、プラグインがブラウザーに表示されなかったかjava -jar jenkins-cli.jar -s http://localhost:8080 list-plugins、依存関係もインストールするまで使用できませんでした。


1
:私は、Webからの依存関係をプラグインのすべての必要な最新バージョンを表示するための簡単な要旨(依存関係ツリー全体をスキャン)作成したgist.github.com/Lucasus/1a6b8df71425c790361c
ルカシュWiatrak

2

私の場合、Windowsサーバーを実行しているオフラインビルドサーバーにプラグインをインストールする必要がありました(バージョンはここでは関係ありません)。ラップトップにJenkinsをインストールして変更を事前にテストしましたが、Windowsサービスとしてlocalhost:8080で実行されています。

したがって、インターネット接続のあるマシンでJenkinsをセットアップし、オフラインサーバーのJenkinsにこれらの変更を実行することをいとわない場合(動作確認済み、私が確認しました)、次の手順を実行できます。

  • ラップトップ上のJenkins:Jenkinsを開きます。http:// localhost:8080
  • ナビゲーター:Jenkinsの管理| インストールオプションなしでプラグインをダウンロード
  • Windowsエクスプローラー:「c:\ program files(x86)\ Jenkins \ plugins」フォルダー(つまりrole-strategy.jpi)にあるダウンロードしたプラグインファイルをコピーします。
  • オフラインサーバーの共有フォルダに貼り付けます
  • コンポーネントサービス、Jenkinsサービスを介してJenkinsサービス(オフラインサーバーJenkins)を停止します。
  • プラグインファイル(つまり、role-strategy.jpi)を(Offline Jenkins)サーバーの「c:\ program files(x86)\ Jenkins \ plugins」フォルダにコピーします
  • ジェンキンスを再起動して出来上がり!インストールする必要があります。

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

それらを他のJenkinsボックスにコピーします。

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です。@currentJenkinsによって無視されるように指定されたバージョン。Jenkinsはlocalhostポート8080で実行されています。必要に応じてこれを変更してください。私の知る限り、これはすべての依存関係を「手動で」プラグインをインストールする最も簡単な方法です。Jenkinsでテスト済みv1.644

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.