docker-compose で Jenkins をインストールする際の実践的なメモ

docker-compose で Jenkins をインストールする際の実践的なメモ

ディレクトリを作成する

cd /usr/local/docker/
jenkins-docker を mkdir します
cd jenkins-docker

Dockerfileを作成する

vi Dockerファイル
# 以下は、jenkins/jenkins:lts のファイルの内容です。

ユーザー ルート
mkdir -p /usr/local/ && \ を実行します。
	cd /usr/local/ && \
	curl -fsSL https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz > /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	tar xzf /usr/local/apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && \
	rm -rf /usr/local/apache-maven-3.6.3-bin.tar.gz && \
	Apache Maven 3.6.3 のディレクトリを /usr/local/apache-maven-3.6.3/bin/mvn に変更します。
	ln -s /usr/local/apache-maven-3.6.3/bin/mvnyjp /bin/mvnyjp && \
	PATH=/usr/local/apache-maven-3.6.3/bin:$PATH をエクスポートします。

ユーザー jenkins

イメージを構築する

jenkins-jiacs:lts を実行します。

ホスト上のDockerのグループIDを表示する

cat /etc/group | grep docker

# [root@localhost jenkins-docker]# cat /etc/group | grep docker
ドッカー:x:994:
# 私の値は994ですが、実際の値によって異なります

Jenkinsコンテナを起動します(dockerコマンドラインで起動します)

# コンテナを起動する前に、/usr/local/docker/jenkins-docker/data フォルダを作成し、権限を付与します # /usr/local/docker/jenkins-docker/config/settings.xml このファイルはそれ自体で提供されます (プライベートサーバーおよびその他の情報はカスタマイズできます)
mkdirデータ
chmod -R 777 データ

docker run -d -p 8080:8080 -p 50000:50000 \
    -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home \
    -v /etc/localtime:/etc/localtime:ro \
    -v /var/run/docker.sock:/var/run/docker.sock \
    ディレクトリのパスは /etc/docker です。
    ディレクトリを /usr/bin/docker に変更します。
    ローカルディレクトリを docker-compose ディレクトリにコピーします。
    -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml \
    --グループ追加=994 \
    --name マイジェンキンス \
    ジェンキンス-jiacs:lts
# 例:
# 1. -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home =》Jenkins データを永続化します。# 2. -v /etc/localtime:/etc/localtime:ro =》Jenkins コンテナの時間をホストと一致するように設定します。# 3. -v /etc/docker:/etc/docker =》Jenkins コンテナで使用される docker は、ホストにインストールされている docker であり、Jenkins によってデプロイされたサービスがホストで開始されるようにします。# 4. -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose ホストに docker-compose がインストールされている場合、Jenkins コンテナがそれを使用する必要がある場合は、データ ボリュームを追加できます。# -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml
# --group-add=994 起動したコンテナのユーザーグループをホストマシンのdockerのユーザーグループに設定し、Jenkinsコンテナがホストマシンのdockerコマンドを操作する権限を持っていることを確認します。

Jenkinsコンテナを起動します(docker-compose start)

cd /usr/local/docker/jenkins-docker
jenkins-docker.yaml をviで開きます
version: '2' # バージョン番号を変更しないでください。一部のバージョンでは、group_add パラメータ サービスがサポートされていません。
  ジェンキンス:
    画像: 'jenkins-jiacs:lts'
    コンテナ名: my-jenkins
    # 再起動: 常に
    ポート:
      - '8080:8080'
      - '50000:50000'
    グループ追加:
      - 994
    ボリューム:
      - ./data:/var/jenkins_home
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/docker:/etc/docker
      - /usr/bin/docker:/usr/bin/docker
      - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose
      - ./config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml

起動する

docker-compose -f jenkins-docker.yaml アップ -d

コンテナを表示

ドッカーps 

ここに画像の説明を挿入

コンテナに入る

docker exec -it 0d8b70ba5cec bash
# Jenkinsの初期パスワードを表示する(コンテナ内で実行)
cat /var/jenkins_home/secrets/initialAdminPassword

ブラウザを開いてJenkinsサービスにアクセスします

http://<ホストIP>:8080/

先ほど見つけた初期パスワードを入力してください

ここに画像の説明を挿入

インストールする推奨プラグインを選択し、プラグインがインストールされるまで待ちます (少し時間がかかります)。一部のプラグインのインストールに失敗した場合は、[再試行] をクリックしてインストールを続行するか、失敗したプラグインを記録して、[システム構成] - [プラグイン構成] で手動でインストールすることができます。

ここに画像の説明を挿入

Jenkinsのタイムゾーンを変更する

システム管理 > スクリプトコマンドラインで、次のコマンドを入力し、[実行]をクリックします。

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'アジア/上海')

インストール完了

これで、docker-compose を使用した Jenkins のインストールに関するこの記事は終了です。docker-compose を使用した Jenkins のインストールの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker で Jenkins-2.249.3-1.1 をインストールする詳細な手順
  • 初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル
  • Dockerを使用してJenkinsをインストールする方法
  • Docker環境にJenkinsコンテナをインストールする詳細なチュートリアル
  • DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する
  • Docker を使用して Jenkins をインストールするためのサンプル コード
  • Jenkins の Docker のデプロイとインストール手順

<<:  img タグの src 属性値が空の場合の 2 つのリクエストの問題 (IE 以外のブラウザ)

>>:  iframe テクニックを使用して訪問者 QQ 実装のアイデアとサンプル コードを取得する

推薦する

cocoscreatorプレハブの詳しい説明

目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...

Web ベースの電子メール コンテンツの HTML フォーマット標準の概要

1. ページ要件1) 標準のヘッダーとフッターを使用するXML/HTML コードコンテンツをクリップ...

Tomcatの再構成後に起動が遅くなる問題を迅速に解決

Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...

Webフロントエンドの一般的な操作(JS/HTML/CSSなどの知識を含む)

ul liの前のアイコン1をキャンセルしますクリア値1値を1に設定ラベル中央値1をクリアラベルの中央...

MySQL マルチテーブル結合入門チュートリアル

接続は、実際の外部キー(人工的に作成された 2 つのテーブル間の対応関係を指します。対照的に、FOR...

MySQL でスロークエリログ機能を有効にする方法

MySQL スロー クエリ ログは、問題のあるクエリを追跡するのに非常に役立ちます。現在のプログラム...

Dockerを使用してサーバー上で複数のPHPバージョンを実行する

PHP7 がリリースされてからかなり時間が経ちますが、パフォーマンスが大幅に向上したことはよく知られ...

ネイティブWeChatアプレット開発におけるreduxの使用の詳細な説明

前提複雑なシナリオでは、複数の異なるページ間で大量のデータを使用したり変更したりする必要があります。...

Linux スクリプトの基礎を詳しく紹介

目次1. スクリプトvim環境2. シェルスクリプトで環境を定義する方法3. シェルスクリプト内の翻...

MySQL ロック関連知識のまとめ

MySQL のロックロックは、並行環境におけるリソースの競合を解決する手段です。その中でも、楽観的並...

MySQL の時間タイプの選択

目次日時タイムスタンプ選び方ミリ秒の時間を保存する方法結論MySQL は、日付と時刻を処理するために...

MySQL でパーティション分割後にクエリを実装するために MRG_MyISAM (MERGE) を使用する例

大量のデータベース データを最適化することは非常に高度な科学であり、開発者が習得する必要がある専門的...

CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...

Nodejs モジュール システムのソースコード分析

目次概要CommonJS 仕様Node の CommonJS 仕様の実装モジュールのエクスポートとイ...

非常に便利なオープンソース Docker ツール 5 つを強くお勧めします

導入Docker コミュニティは、さまざまなユースケースを処理するのに役立つ多くのオープンソース ツ...