Jenkinsは、開発者がビルド、テスト、デプロイなどのソフトウェア開発プロセスを自動化するのに役立つオープンソースの自動化サーバーです。 Jenkinsを使用すると、GitHub、Bitbucket、またはGitLabでのコード変更を管理および監視し、MavenやGradleなどのツールを使用してコードを自動的にビルドできます。 Jenkinsを使用すると、作業を複数のマシンに効率的に分散できます。
このガイドでは、Ubuntu20.04にJenkinsをインストールする方法を説明します。
- Ubuntu 20.04 VPS(SSD 2 VPSプランを使用します)
- rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)
ステップ1:サーバーにログインしてサーバーOSパッケージを更新する
まず、rootユーザーとしてSSH経由でUbuntu20.04サーバーにログインします。
ssh root@IP_Address -p Port_number
「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、必要に応じて「root」を管理者アカウントのユーザー名に置き換えます。
開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。
apt-get update -y apt-get upgrade -y
ステップ2:Javaをインストールする
JenkinsはJavaベースのアプリケーションです。したがって、Javaをシステムにインストールする必要があります。インストールされていない場合は、次のコマンドを使用してインストールできます。
apt-get install default-jdk -y
これにより、Javaバージョン11がシステムにインストールされます。次のコマンドを使用して、Javaのバージョンを確認できます。
java -version
次の出力が得られるはずです:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
ステップ3:Jenkinsをインストールする
デフォルトでは、JenkinsはUbuntu標準リポジトリでは利用できないため、システムにjenkinsリポジトリを追加する必要があります。
まず、次のコマンドを使用して必要な依存関係をインストールします。
apt-get install apt-transport-https gnupg2 -y
次に、次のコマンドを使用してGPGキーをダウンロードして追加します。
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -
次に、次のコマンドを使用してJenkinsリポジトリを追加します。
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をインストールした後、以下のコマンドを使用してJenkinsのステータスを確認します。
systemctl status jenkins
次の出力が得られるはずです:
● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Mon 2020-12-21 05:34:22 UTC; 6s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 2353) Memory: 0B CGroup: /system.slice/jenkins.service Dec 21 05:34:20 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time... Dec 21 05:34:21 ubuntu2004 jenkins[15472]: Correct java version found Dec 21 05:34:21 ubuntu2004 jenkins[15472]: * Starting Jenkins Automation Server jenkins Dec 21 05:34:21 ubuntu2004 su[15526]: (to jenkins) root on none Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session opened for user jenkins by (uid=0) Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session closed for user jenkins Dec 21 05:34:22 ubuntu2004 jenkins[15472]: ...done. Dec 21 05:34:22 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.
Jenkinsは現在、ポート8080で実行およびリッスンしています。次のコマンドで確認できます:
ss -antpl | grep 8080
次の出力が得られるはずです:
LISTEN 0 50 *:8080 *:* users:(("java",pid=15539,fd=141))
ステップ4:NginxをJenkinsのリバースプロキシとして構成する
JenkinsにアクセスするためのリバースプロキシとしてNginxを使用することをお勧めします。これを行うには、次のコマンドを使用してNginxをインストールします。
apt-get install nginx -y
nginxがインストールされたら、次のコマンドを使用してNginx構成ファイルを作成します。
nano /etc/nginx/conf.d/jenkins.conf
次の行を追加します:
upstream jenkins { keepalive 32; server 127.0.0.1:8080; } # Required for Jenkins websocket agents map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name jenkins.domain.com; # this is the jenkins web root directory # (mentioned in the /etc/default/jenkins file) root /var/run/jenkins/war/; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # pass through headers from Jenkins that Nginx considers invalid ignore_invalid_headers off; location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" { rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last; } location /userContent { root /var/lib/jenkins/; if (!-f $request_filename){ #this file does not exist, might be a directory or a /**view** url rewrite (.*) /$1 last; break; } sendfile on; } location / { sendfile off; proxy_pass http://jenkins; proxy_redirect default; proxy_http_version 1.1; # Required for Jenkins websocket agents proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_max_temp_file_size 0; #this is the maximum upload size client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_request_buffering off; # Required for HTTP CLI commands proxy_set_header Connection ""; # Clear for keepalive } }
ファイルを保存して閉じ、次のコマンドを使用してNginx構成を確認します。
nginx -t
次の出力が得られるはずです:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
最後に、次のコマンドを使用してNginxサービスを再起動します。
systemctl restart nginx
ステップ5:Jenkinsにアクセスする
次に、Webブラウザーを開き、URL http://jenkins.domain.com
を使用してJenkinsWebインターフェースにアクセスします。 。次のページが表示されます:
次に、ターミナルを開き、次のコマンドを使用してJenkinsパスワードを印刷します。
cat /var/lib/jenkins/secrets/initialAdminPassword
次の出力でJenkins管理者パスワードを取得する必要があります:
00c7fa4f27c142a3ab8e6867eddb1bdd
次に、Webインターフェイスに戻り、上記のパスワードを貼り付けて、続行をクリックします。 ボタン。次の画面が表示されます。
推奨プラグインのインストールをクリックします ボタン。すべてのプラグインがインストールされると、次のページが表示されます。
希望のユーザー名、パスワード、メールアドレスを入力し、保存をクリックします 続行 ボタン。次のページが表示されます:
Jenkins WebサイトのURLを入力し、保存して終了をクリックします ボタン。次のページが表示されます:
Jenkinsの使用を開始をクリックします 。次のページにJenkinsのデフォルトのダッシュボードが表示されます。
もちろん、マネージドJenkins VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。