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 のインストールに関するチュートリアル

推薦する

Linuxオンラインソフトウェアgccをオンラインでインストールする方法

Linux オンラインインストール関連コマンド: yum install: すべてインストールyum...

親ページの更新を制御するために HTML で iframe を実装するためのアイデアとコード

1. 応用シナリオ親ページ a.jspサブページ b.jsp (ページ a に埋め込まれた ifra...

Nginx proxy_redirect の使用方法の詳細な説明

今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...

Dockerはコンテナに入るためにnsenterツールを使用する

Dockerコンテナを使用する場合は、nsenterツールを使用する方が便利です。システムにない場合...

要素テーブルからヘッダーを削除する方法

show-header属性を使用したドキュメントのヒントshow-header <el-テーブ...

nacos が mysql に接続できない場合の解決策

理由nacos の pom が依存する mysql バージョンが、mysql バージョンと一致してい...

この記事は、Dockerにおけるcgroupの具体的な使用法を徹底的に理解するのに役立ちます。

目次cgroupとはcgroupの構成cgroupが提供する機能cgroup 内の CPU を制限す...

Macにmysql5.7.18をインストールする詳細な手順

1. ツール今必要なツールは2つあります: MySQLサーバー (mysql-5.7.18)、MyS...

Linux と最もよく使用されるコマンドの紹介 (習得は簡単ですが、問題の 95% 以上を解決できます)

Linux は現在最も広く使用されているサーバー オペレーティング システムです。Unix をベー...

画像のシームレスなスクロールを実現する JavaScript タイマー

この記事では、画像のシームレスなスクロールを実現するためのJavaScriptの具体的なコードを参考...

alpineをベースにdockerfileで作成したtomcatイメージの実装

1.アルパインイメージをダウンロードする [root@docker43 ~]# docker pul...

MySQL ステートメントロックの実装の分析

概要: 2 つの MySQL SQL ステートメント ロックの分析次のSQL文にどのようなロックが追...

HTML相対パスの親ディレクトリと子ディレクトリの書き方

親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...

Ubuntu 16.04 で MySQL マスター スレーブ同期を設定する方法

準備1. マスターとスレーブのデータベースのバージョンは一致している必要があります2. マスターデー...

MySQLのあいまいクエリインデックスの失敗の問題を解決するいくつかの方法

% ワイルドカードを使用すると、インデックス失敗の問題が発生することがよくあります。ここでは、lik...