Dcokerで「jenkins」試してたら作業が進まなくなった話

Dcoker
この記事は約6分で読めます。

 

みなさんこんにちは!

 

イザナギです。

 

最近はDockerを学習しようと思って、教材を使いながら学習していたんですよ!

 

その教材がこちら!

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Docker/Kubernetes実践コンテナ開発入門 [ 山田明憲 ]
価格:3718円(税込、送料無料) (2020/12/2時点)


 

この教材を使ってDockerについて学習していました。

 

しかし、この本通り進めていくと途中でハマってしまいました…

 

まじかよ!

 

本通り進めてんのに進まないじゃん!

 

エラー内容としては、

 

  1. プラグインインストール画面でエラーが発生(依存関係?の問題でインストールできていない) 
  2. 新規ノードを作成しても接続できていない(Authentication failed.)

 

今回は、以上のエラーを解消するためにさまざまなことを試しましたので、その結果を書いていきたいと思います。

 

試したこと

 

公式ホームページの情報を試す(失敗)

 

まず、公式のサポートページに書いてあることを試してみます。(P.78 # 2.6.3の最初のリストのjenkinsのイメージ名)

 

サポートページ:Docker/Kubernetes 実践コンテナ開発入門

本には、「dcoker-compose.yml」が以下の通りになっていました。

 

services:
  master:
    container_name: master
    image: jenkins:2.60.3
    ports:
      - 8080:8080
    volumes:
      - .jenkins_home:/var/jenkins_home
    links:
      - slave01

  slave01:
    container_name: slave01
    image: jenkinsci/ssh-slave
    environment:
      - JENKINS_SLAVE_SSH_PUBKEY= ssh-rsa ~

 

しかし、現在はこれでは動作しないみたいです。

 

ですので、サポートページにもあるとおり以下の通りに変えてみましょう!

 

services:
  master:
    container_name: master
    image: jenkinsci/jenkins:2.142-slim
    ports:
      - 8080:8080
    volumes:
      - .jenkins_home:/var/jenkins_home
    links:
      - slave01

  slave01:
    container_name: slave01
    image: jenkinsci/ssh-slave
    environment:
      - JENKINS_SLAVE_SSH_PUBKEY= ssh-rsa ~

 

「image」の部分を「image: jenkins:2.60.3」から「image: jenkinsci/jenkins:2.142-slim」に変更しています。

 

そして、「.jenkins_home」フォルダを削除してもう一回本の通り「docker-compose up」してプラグインをインストールしてみます。

 

 

なんか所々インストールできていない…

 

もちろんノード設定もできない…

 

これじゃダメっぽい。

 

jenkinsの最新版を試してみる(成功)

 

こちらの記事を参考にして、jenkinsの最新版を試して見ることにしました。

 

dockerでjenkins構築(2020年05月時点) - Qiita
経緯 こちらの本の通りに進めていたところプラグインのインストール時、ならびにjenkinsのmaster-slave間でssh接続でエラーが出てしまいました。 Docker/Kubernetes 実践コンテナ開発入門 いくつかの...

 

「docker-compose.yml」を以下の通り書き直します。

 

version: "3"
services:
  master:
    container_name: master
    image: jenkins/jenkins:latest
    ports:
      - 8080:8080
    volumes:
      - ./jenkins_home:/var/jenkins_home
    links:
      - slave01

  slave01:
    container_name: slave01
    image: jenkins/ssh-slave:latest
    environment:
     - JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa ~

 

 

画像は途中までですが、なんとか行けました!

 

さて、ノードの設定に戻るか。

 

設定して、ログを見てみると以下のエラーが発生しました。

 

java.io.IOException: Java not found on hudson.slaves.SlaveComputer@4c731393. Install a Java 8 version on the Agent.

 

どうやらJava8のパスを設定しなければいけないらしい。

 

なので、以下のコマンドを実行しJavaのパスを確認。

 

docker exec -it slave01 bash
# ログイン後
which java

 

Javaのパスを確認できたので、それを今度はjenkinsで設定し直す。

 

jenkinsダッシュボードの左メニューから「jenkinsの管理」→「ノードの管理」→「新規ノード作成」

 

ここの設定は大体本の内容と一緒ですが、「認証設定」のみ、秘密鍵の「直接入力」しかできなくなっています。

 

なので、ここで秘密鍵をコピペして貼り付けて設定します。

 

 

以上の設定を行えば、ノードが設定されると思います!

 

まとめ

 

今回はDockerでjenkinsを試した際に詰まったところについて書いていきました。

 

Dockerやjenkinsが初めての人にとっては本通りに進まないと、手間取ってしまいますよね。(私もその一人ですwww)

 

「jenkins」に関するさらなる理解が必要そうです。

 

最後に今回勉強に利用した本のURLを貼っておきます。

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

Docker/Kubernetes実践コンテナ開発入門 [ 山田明憲 ]
価格:3718円(税込、送料無料) (2020/12/2時点)


 

それでは、今回はここで筆を置かせていただきます!

 

最後まで記事をご覧いただきありがとうございました!

コメント

タイトルとURLをコピーしました