DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗します。何度か再試行しても、プラグインのインストールで止まってしまいます。

ここでは、Docker で Jenkins をインストールし、初期プラグインのインストールが失敗する問題を解決する方法の記録を示します。

プラグインのインストールに失敗するということは、実際には公式の Jenkins イメージが取得され、プラグインが最初にインストールされるときに外国の Web サイトから取得されるため、インストールが非常に遅くなったり、インストールが失敗したりすることを意味します。最善の解決策は、Jenkins Chinese コミュニティによって提供される Jenkins イメージを取得することです。 Jenkins 中国語公式サイト: https://www.jenkins.io/zh/

インストール手順 イメージを取得する

docker pull jenkinszh/jenkins-zh:latest

Docker 公式イメージリポジトリ: https://hub.docker.com/

Jenkinsの中国語ミラーはここ

Jenkinsコンテナのマウントディレクトリを設定する

Jenkins コンテナが起動すると、インストール構成ファイルが生成されます。これらのファイルの生成アドレスを Linux サーバー上のディレクトリに変更する必要があります。

目的: 将来構成が変更されたときに、構成を見つけやすくするため。

Jenkinsビルドディレクトリを作成します。mkdir /home/jenkins_home

ディレクトリ認証 chmod 777/home/jenkins_home システムが認証されていない場合、起動後にファイルを生成できません。

起動コマンド

docker run -d -p 8085:8080 -p 50000:50000 --name myjenkins -v /home/jenkins_home/:/var/jenkins_home jenkinszh/jenkins-zh:latest

コマンドの説明:

コンテナを実行する
-d バックグラウンドで実行
-p Linux サーバーポートと Docker コンテナポートのマッピング
--name カスタムコンテナエイリアス
-v LinuxサーバーディレクトリとDockerコンテナディレクトリの最後の名前の後に、マウント時に取得したイメージ名とバージョンが続きます。

注: 8085 はアクセス ポートであり、使用されていない任意のポートを使用できます。 8080は変更できません

-p 50000:50000は変更できません。

/home/jenkins_home/ ローカルビルドディレクトリはカスタマイズ可能で、前の手順で作成および承認されたディレクトリと一致します。

/var/jenkins_homeDocker コンテナ ディレクトリ。変更できません。

アクセス

サーバー IP + カスタム ポートの例: 192.168.0.200:8085

初期パスワード

docker ps 現在実行中のコンテナのIDを取得する

Docker ログコンテナ ID

ログログで確認できます。

プラグインのインストール

中国のコミュニティが提供する Jenkins イメージは設定を必要とせず、直接インストールでき、速度も非常に高速です。

付録 - 公式イメージへのプラグインのインストール失敗の分析

上記のJenkinsによってマウントされたディレクトリを例に挙げます

jenkins_home ディレクトリの hudson.model.UpdateCenter.xml ファイルでは、プラグインがプルするための構成アドレスが定義されています。デフォルトのアドレスには直接アクセスできます。https://www.google.com/ に接続していることがわかります。ファイアウォールのため、このアドレスには常にアクセスできませんでした。

/jenkins_home/updates ディレクトリ内の default.json ファイルの内容は、hudson.model.UpdateCenter.xml で定義されたプラグインによって取得された構成アドレスの内容です。他のブログなどを通じて default.json ファイルの内容を変更しても、再度起動するとすぐに復元されるため、どのように変更しても有効になりません

Jenkins中国コミュニティが提供するミラーが処理され、プラグインプルの設定アドレスが国内ミラーアドレスに変更されたため、プラグインのダウンロードが非常に高速になりました。

Jenkins の中国コミュニティによるプラグインのプルに関する説明:

https://community.jenkins-zh.cn/t/jenkins/26

https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/

さらに詳しく知るために提案する

これで、Jenkins を Docker でインストールし、プラグインの初期インストールが失敗する問題を解決する方法についての記事は終わりです。Jenkins を Docker でインストールすることに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • JenkinsのDockerインストールの完全なプロセスとガイドのステップ
  • Jenkins のインストールとプラグイン管理の設定に関する入門チュートリアル
  • Jenkins環境のセットアップのダウンロードとインストールのプロセス
  • JenkinsのLinuxインストール手順と各種問題解決(ページアクセス初期化パスワード)
  • CentOS 8にJenkinsをインストールする方法
  • Ubuntu 16.04にJenkinsをインストールするための詳細な手順
  • Jenkins インストールにおけるタイムゾーン問題の分析と解決

<<:  JSはマップを使用してdouble配列を統合します

>>:  Linux での MySQL 8.0.11 のインストールに関するチュートリアル

推薦する

Windows で MySQL のルート パスワードをリセットする方法

今日、WordPress がデータベースに接続できないことがわかりました。ウィンドウ サーバーにログ...

さまざまなReact状態マネージャーの解釈と使用方法

まず、状態マネージャーとは何か、そしてそれが何をするのかを知る必要があります。複数のページで同じプロ...

Linuxにグラフィカルインターフェースをインストールする方法

1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...

CentOS 6 は Docker を使用して Redis マスター スレーブ データベース操作例を展開します

この記事では、Docker を使用して Centos6 に Redis マスター/スレーブ データベ...

iframe の src を about:blank に設定した後の詳細

iframe の src を 'about:blank' に設定した後、"...

Linux viコマンドの知識ポイントと使い方のまとめ

Linux viコマンドの詳しい説明vi エディタは、すべての Unix および Linux システ...

MySQL でグループ化した後、各グループの最大値を取得する詳細な例

MySQL でグループ化した後、各グループの最大値を取得する詳細な例1. テストデータベーステーブル...

Nginx 仮想ホストを構成する 3 つの方法 (ドメイン名に基づく)

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮...

Javascript ツリー メニュー (11 項目)

1. dhtmlxツリー dHTMLxTree は機能豊富なツリー メニュー コントロールです。豊...

MySQL 8.0.16 圧縮版のダウンロードと Win10 システムへのインストール チュートリアル

公式サイトからダウンロード: https://www.mysql.com MySQLの公式サイトにア...

フォームファイル選択ボックスのスタイルをカスタマイズする例

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Linux におけるゼロコピー技術の使用に関する簡単な分析

この記事では、Linux におけるいくつかの主要なゼロコピー テクノロジと、ゼロコピー テクノロジを...

HTML+CSS で div タグの右上隅に削除アイコンを追加するサンプルコード

1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...

JS の精度外数値問題の解決

精度の問題に対する最もわかりやすい説明たとえば、1÷3=0.33333333...という数字は、3が...

HTML ウェブページハイパーリンクタグ

HTML ウェブ ページのハイパーリンク タグの学習チュートリアル リンク タグの属性 リンクは、ウ...