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 /etc/network/interfaces 設定インターフェース方法

Linux の /etc/network/interfaces ファイルは、ネットワーク インターフ...

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

目次1. 問題の背景: 2. 問題の原因: 3. 問題解決:要約: 1. 問題の背景: window...

Nginx Linux のインストールと展開の詳細なチュートリアル

1. Nginx の紹介Nginxは負荷分散やリバースプロキシにも使えるWebサーバーです。現在最も...

React Native環境のインストールプロセス

react-native インストールプロセス1.npx react-native init Awe...

制限を使用すると、MySQL のページングがどんどん遅くなるのはなぜですか?

目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Linuxフラッシュのインストール方法

Linuxにフラッシュをインストールする方法1. Flashの公式サイトにアクセスし、ダウンロードを...

Mac で MySQL バージョン 5.6 のパスワードを設定する方法

MySQLはインストール時に設定できますが、それより低いバージョンは設定できないようで、インストール...

MySQL SHOW STATUSステートメントの使用

MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態...

Vue3 における親コンポーネントと子コンポーネント間の値の転送の詳細な説明

vue3 が誕生してからかなり時間が経ち、筆者も最近になって vue3 を学び始めました。 vue2...

ドメイン名、ポート、IPに基づいてnginx仮想ホストを構築する

nginxでサポートされている仮想ホストには3つの種類があります1. ドメイン名ベースの仮想ホスティ...

JS WebSocket 切断理由とハートビートの仕組みの詳しい説明

1. 切断理由WebSocket が切断される理由は多数あります。WebSocket が切断されたと...

Xshellの一般的な問題と関連する設定の詳細な説明

この記事では、Xshell と関連する構成の一般的な問題について説明します。この記事の構成は、主に ...

nginx 設定場所方法の概要

位置一致順序1. 「=」プレフィックス命令マッチング、マッチングが成功したら他のマッチングを停止2....

NextCloud プライベート クラウド ストレージ ネットワーク ディスクの構築に関する詳細なチュートリアル

Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...