Jenkinsは、開発者がソフトウェアを構築、テスト、およびデプロイするのに役立つ無料のオープンソース自動化サーバーです。これはJavaに基づいており、ソフトウェア開発プロセスに含まれる反復的なタスクを自動化するのに役立つ1700を超えるプラグインを提供します。 Windows、Mac OS X、Linuxなどの複数のオペレーティングシステムをサポートしており、複数のマシンに簡単に分散できます。
このチュートリアルでは、Ubuntu20.04にリバースプロキシとしてApacheを使用してJenkinsをインストールする方法を示します。
- Ubuntu20.04を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
開始する前に、システムを最新バージョンに更新することをお勧めします。次のコマンドでシステムを更新できます:
apt-get update -y
apt-get upgrade -y
システムを更新した後、システムを再起動して変更を実装します。
Javaのインストール
JenkinsはJavaに基づいているため、Javaをシステムにインストールする必要があります。インストールされていない場合は、次のコマンドを実行してインストールできます。
apt-get install openjdk-11-jdk gnupg2 -y
インストールしたら、次のコマンドを使用して、インストールされているJavaのバージョンを確認します。
java -version
次の出力が得られるはずです:
openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
終了したら、次のステップに進むことができます。
Jenkinsをインストール
デフォルトでは、Jenkinsの最新バージョンはUbuntu20.04のデフォルトリポジトリでは利用できません。そのため、Jenkinsリポジトリをシステムに追加する必要があります。
まず、次のコマンドを使用してGPGキーをダウンロードして追加します。
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -
次に、次のコマンドを使用してJenkinsリポジトリをAPTに追加します。
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
次に、リポジトリを更新し、次のコマンドを使用して最新バージョンのJenkinsをインストールします。
apt-get update -y
apt-get install jenkins -y
インストールが正常に完了したら、次のコマンドでJenkinsのステータスを確認します。
systemctl status jenkins
次の出力が表示されます。
? jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Sun 2020-08-09 12:50:35 UTC; 44s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 2353) Memory: 0B CGroup: /system.slice/jenkins.service Aug 09 12:50:34 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time... Aug 09 12:50:34 ubuntu2004 jenkins[6134]: Correct java version found Aug 09 12:50:34 ubuntu2004 jenkins[6134]: * Starting Jenkins Automation Server jenkins Aug 09 12:50:34 ubuntu2004 su[6180]: (to jenkins) root on none Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session opened for user jenkins by (uid=0) Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session closed for user jenkins Aug 09 12:50:35 ubuntu2004 jenkins[6134]: ...done. Aug 09 12:50:35 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.
この時点で、Jenkinsはポート8080で実行およびリッスンしています。次のコマンドで確認できます:
netstat -plntu | grep 8080
次の出力が表示されます。
tcp6 0 0 :::8080 :::* LISTEN 6192/java
完了したら、次のステップに進むことができます。
次に、ApacheをJenkinsのリバースプロキシとしてインストールして構成する必要があります。したがって、ポート80を介してJenkinsにアクセスできます。
まず、次のコマンドを使用してApacheWebサーバーをインストールします。
apt-get install apache2 -y
Apache Webサーバーをインストールした後、次のコマンドを使用して必要なモジュールを有効にします。
a2enmod proxy
a2enmod proxy_http
次に、次のコマンドを使用して、Jenkins用のApache仮想ホスト構成ファイルを作成します。
nano /etc/apache2/sites-available/jenkins.conf
次の行を追加します:
<Virtualhost *:80> ServerName jenkins.example.com 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>
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してApache仮想ホスト構成ファイルを有効にします。
a2ensite jenkins
次に、ApacheおよびJenkinsサービスを再起動して、変更を適用します。
systemctl reload apache2
systemctl restart jenkins
次のコマンドを使用して、Apacheサービスのステータスを確認できるようになりました。
systemctl status apache2
次の出力が得られるはずです:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d ??apache2-systemd.conf Active: active (running) since Sun 2020-08-10 12:41:30 UTC; 22min ago Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 14417 (apache2) Tasks: 11 (limit: 1114) CGroup: /system.slice/apache2.service ??14417 /usr/sbin/apache2 -k start ??15412 /usr/sbin/apache2 -k start ??15413 /usr/sbin/apache2 -k start ??15414 /usr/sbin/apache2 -k start ??15416 /usr/sbin/apache2 -k start ??15417 /usr/sbin/apache2 -k start ??15418 /usr/sbin/apache2 -k start ??15419 /usr/sbin/apache2 -k start ??15420 /usr/sbin/apache2 -k start ??15422 /usr/sbin/apache2 -k start ??15429 /usr/sbin/apache2 -k start Aug 10 12:41:29 ubuntu20.04 systemd[1]: Starting The Apache HTTP Server...
この時点で、ApacheWebサーバーはJenkinsにサービスを提供するように構成されています。これで、次のステップに進むことができます。
注:インターネット経由でJenkinsに接続する場合は、SSL/TLSを使用して接続を保護することをお勧めします。 Jenkins Webインターフェイスのcertbotを使用してLet'sEncryptを介してSSLを有効にするには、こちらをご覧ください:
https://www.howtoforge.com/how-to-manage-lets-encrypt-ssl-tls-certificates-with-certbot/
JenkinsWebインターフェイスにアクセス
次に、Webブラウザーを開き、URLhttp://jenkins.example.comを入力します。以下に示すように、初期管理者パスワードを入力するように求められます。
次のコマンドでJenkinsの初期管理者パスワードを確認できます:
cat /var/lib/jenkins/secrets/initialAdminPassword
次の出力にJenkinsのパスワードが表示されます。
78d6b10330434b27a09590fc781c9e6d
ログイン画面に上記の出力からパスワードを入力し、続行をクリックします ボタン。 Jenkinsのカスタマイズ画面にリダイレクトされます:
目的のオプションを選択してクリックします。 Jenkinsプラグインのインストールが進行中の画面が表示されます:
すべてのプラグインが正常にインストールされると、次の画面が表示されます。
管理者のユーザー名、パスワード、メールアドレスを入力し、保存して続行をクリックします ボタン。次の画面が表示されます。
JenkinsのURLを入力し、保存して終了をクリックします ボタン。次の画面が表示されます。
[Jenkinsの使用を開始する]をクリックします 「」ボタン。次の画面にJenkinsダッシュボードが表示されます。
次に、Jenkinsの標準のセキュリティ設定を構成する必要があります。
左側のペインで、[管理Jenkins=>グローバルセキュリティの構成]をクリックします 。次の画面が表示されます。
次に、マトリックスベースのセキュリティを選択します 、ユーザーを追加し、完全な権限を付与して、保存をクリックします ボタン。
この時点で、Jenkinsがインストールおよび構成されています。サンプルジョブを作成し、Jenkinsの機能をテストします。
Jenkinsダッシュボードで、新しいジョブの作成をクリックします ボタン。次の画面が表示されます。
ジョブ名を入力し、フリースタイルプロジェクトを選択して、 OKをクリックします。 ボタン。次の画面が表示されます。
次に、ビルドをクリックします タブ。 「ビルドステップの追加」について "、オプション"シェルの実行を選択します l"と入力して"free -m コマンドボックスで「」をクリックします。次に、保存をクリックします。 ボタン。次の画面が表示されます。
次に、[今すぐ作成]をクリックします 左ペインの[]ボタンをクリックしてジョブを実行します。ジョブが実行されると、次の画面にJenkinsによって実行されたジョブからのコンソール出力が表示されます。
おめでとう!これで、Ubuntu20.04サーバーにApacheを使用してJenkinsが正常にインストールされました。これで、開発環境でJenkinsを使用して、開発プロセスをスピードアップできます。ご不明な点がございましたら、お気軽にお問い合わせください。