ウェブサイト検索

Ubuntu 18.04 に Apache を使用して Jenkins Automation Server をインストールする方法


このチュートリアルは、これらの OS バージョン用に存在します

  • Ubuntu 16.04 (Xenial Xerus)

このページでは

  1. 前提条件
  2. どうする?
  3. ステップ 1 - Java をインストールする
  4. ステップ 2 - Jenkins をインストールする
  5. ステップ 3 - Jenkins のリバース プロキシとして Apache2 をインストールして構成する
  6. ステップ 4 - UFW ファイアウォールを構成する
  7. ステップ 5 - Jenkins を構成する
  8. ステップ 6 - Jenkins のセキュリティ
  9. ステップ 7 - テスト
  10. 参考資料

Jenkins は、Hudson プロジェクトからフォークされた自動化サーバーです。 Jenkins は、Java サーブレット コンテナーで実行されるサーバー ベースのアプリケーションであり、Git、SVN、Mercurial などの多くの SCM (ソース管理管理) ソフトウェア システムをサポートしています。 Jenkins は、プロジェクトを自動化するための何百ものプラグインを提供します。 MIT ライセンスの下で 2011 年に最初にリリースされた、Kohsuke Kawaguchi によって作成された Jenkins とそのフリー ソフトウェア。

このチュートリアルでは、最新の安定した Jenkins バージョンを Ubuntu Server 18.04 LTS (Bionic Beaver) にインストールする方法を紹介します。独自のドメイン名で Jenkins を実行し、Jenkins をインストールして、Apache Web サーバーのリバース プロキシで実行するように構成します。

前提条件

  • Ubuntu 18.04
  • ルート権限

何する?

  1. Java をインストールする
  2. Jenkins をインストールする
  3. Jenkins のリバース プロキシとして Apache2 をインストールして構成する
  4. UFW ファイアウォールの構成
  5. ジェンキンスを構成する
  6. ジェンキンスのセキュリティ
  7. テスト

ステップ 1 - Java のインストール

Jenkins は Java ベースのアプリケーションであるため、サーバーに Java OpenJDK をインストールする必要があります。このステップでは、最初に追加する PPA リポジトリから Java 8 をインストールします。

software-properties-common パッケージをインストールしてから、java OpenJDK PPA リポジトリを追加します。

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y

apt コマンドを使用して Java 8 をインストールします。

sudo apt install openjdk-8-jdk -y

インストールが完了したら、システムにインストールされている Java のバージョンを確認します。

java -version

Java OpenJDK 1.8 が Ubuntu 18.04 システムにインストールされます。

ノート:

  • システムに複数の Java バージョンがある場合は、次のコマンドを使用してデフォルトの Java バージョンを変更します。

sudo update-alternatives --config java

ステップ 2 - Jenkins をインストールする

Jenkins はインストール パッケージ用の Ubuntu リポジトリを提供しており、このリポジトリから Jenkins をインストールします。

以下のコマンドを使用して、Jenkins キーとリポジトリをシステムに追加します。

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

リポジトリを更新し、Jenkins をインストールします。

sudo apt update
sudo apt install jenkins -y

インストールが完了したら、Jenkins サービスを開始し、起動時に追加します。

systemctl start jenkins
systemctl enable jenkins

Jenkins は現在、Ubuntu 18.04 サーバー上で稼働しており、デフォルトのポート 8080 で実行されています。以下のように netstat を使用して確認してください。

netstat -plntu

そして、以下のような結果が得られます。

ステップ 3 - Jenkins のリバース プロキシとして Apache2 をインストールして構成する

このチュートリアルでは、Apache Web サーバーの背後で Jenkins を実行し、Apache を Jenkins のリバース プロキシとして構成します。

最初に Apache をインストールし、いくつかの必要なモジュールを有効にしてから、Jenkins 用のドメイン名 jenkins.hakase-labs.io で仮想ホスト ファイルを作成します。ここでは独自のドメイン名を使用し、それが表示されるすべての構成ファイルでそれを置き換えてください。

Ubuntu リポジトリから apache2 Web サーバーをインストールします。

sudo apt install apache2 -y

インストールが完了したら、proxy および proxy_http モジュールを有効にして、apache を Jenkins のフロントエンド サーバー/リバース プロキシとして構成できるようにします。

a2enmod proxy
a2enmod proxy_http

次に、sites-available ディレクトリに Jenkins の新しい仮想ホスト ファイルを作成します。

cd /etc/apache2/sites-available/
vim jenkins.conf

以下に仮想ホスト構成を貼り付けます。

<Virtualhost *:80>
    ServerName        jenkins.hakase-labs.io
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    <Proxy http://localhost:8080/*>
      Order deny,allow
      Allow from all
    </Proxy>
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/
</Virtualhost>

保存して終了し、a2ensite コマンドで Jenkins 仮想ホストをアクティブ化します。

a2ensite jenkins

Apache および Jenkins サービスを再起動します。

systemctl restart apache2
systemctl restart jenkins

Jenkins のリバース プロキシとしての apache2 のインストールと構成が完了しました。

ステップ 4 - UFW ファイアウォールの構成

Ubuntu サーバーで UFW ファイアウォールを有効にする前に、SSH、HTTP、HTTPS などの基本的なサービス ポートを追加する必要があります。

SSH、HTTP、および HTTPS サービスを ufw ファイアウォールに追加します。

ufw allow ssh
ufw allow http
ufw allow https

ufw ファイアウォールを起動して有効にします。

ufw enable

y と入力して Enter キーを押します。

UFW ファイアウォールが有効になり、HTTP ポートが追加されました。

ステップ 5 - Jenkins の構成

Jenkins は、ドメイン名 http://jenkins.hakase-labs.io で実行されています。 Web ブラウザを開き、URL を入力します。

初期管理者パスワードの入力を求める画面が表示されます。パスワードは Jenkins によって既に生成されているため、結果を表示してパスワード ボックスにコピーするだけです。

cat コマンドで Jenkins の初期管理者パスワードを表示します。

cat /var/lib/jenkins/secrets/initialAdminPassword

結果を画面に貼り付けて、[続行] をクリックします。

ここで、後で使用するための優れた基盤を得るために、Jenkins にいくつかのプラグインをインストールする必要があります。 [推奨プラグインのインストール] を選択し、クリックします。

Jenkins プラグインのインストールが進行中です。

プラグインのインストールが完了したら、新しい管理者パスワードを作成する必要があります。管理者のユーザー名、パスワード、電子メールなどを入力し、[保存して続行] をクリックします。

インスタンス構成では、Jenkins ドメイン名 http://jenkins.hakase-labs.io を入力し、[保存して終了] ボタンをクリックします。

[Jenkins の使用を開始] ボタンをクリックします。

Jenkins 管理ダッシュボードにリダイレクトされます。

Jenkins のインストールと構成が正常に完了しました

ステップ 6 - Jenkins のセキュリティ

Jenkins 管理ダッシュボードから、Jenkins の標準セキュリティ設定を構成する必要があります。[Jenkins の管理] をクリックしてから、[グローバル セキュリティの構成] をクリックします。

Jenkins は、アクセス制御セクションでいくつかの承認方法を提供します。 Matrix ベースのセキュリティを使用するので、すべてのユーザー権限を制御できます。

[ユーザー/グループ] ボックスに hakase ユーザーを追加し、[追加] をクリックします。

すべてのオプションをチェックして hakase ユーザーにすべての権限を付与し、[保存] ボタンをクリックします。

ダッシュボードにリダイレクトされます。ログイン オプションがある場合は、管理者ユーザーとパスワードを入力するだけです。

ステップ 7 - テスト

このセクションでは、Jenkins サーバー用の単純なジョブを作成します。 Jenkins をテストするための簡単なジョブを作成し、top コマンドでサーバーの負荷を調べます。

Jenkins 管理ダッシュボードから、[Create New Job] をクリックします。

ジョブ名を入力します。ここで Checking System を使用し、Freestyle Project を選択して [OK] をクリックします。

[ビルド] タブに移動します。 [ビルドの追加] ステップで、[シェルの実行] オプションを選択します。

以下のコマンドをボックスに入力します。

top -b -n 1 | head -n 5

[保存] をクリックします。

ジョブ プロジェクト チェック システムのジョブ ページが表示されます。 [今すぐビルド] をクリックして、ジョブ チェック システムを実行します。

ジョブが実行されると、ビルド履歴が表示されます。最初のジョブをクリックして結果を確認します。

以下は、Jenkins によって実行されたジョブの結果です。

Ubuntu 18.04 でリバース プロキシとして Apache2 を使用した Jenkins 自動化ツールのインストールと構成が正常に完了しました。

参考文献

  • https://jenkins-le-guide-complet.github.io/