Ubuntu22.04にJenkinsをインストールする方法

提供:Dev Guides
移動先:案内検索

序章

Jenkins は、ソフトウェアの継続的インテグレーションとデリバリーに関連する反復的な技術タスクを自動化するオープンソースの自動化サーバーです。 JenkinsはJavaベースであり、Ubuntuパッケージからインストールするか、Webアプリケーションアーカイブ(WAR)ファイル(サーバー上で実行する完全なWebアプリケーションを構成するファイルのコレクション)をダウンロードして実行します。

このチュートリアルでは、Ubuntu 22.04にJenkinsをインストールし、開発サーバーを起動して管理ユーザーを作成し、Jenkins自動化の調査を開始します。 このチュートリアルを終了すると、セキュリティで保護されていないJenkinsサーバーが開発展開の準備が整います。 本番用にインストールを保護するには、ガイド Ubuntu22.04でNginxリバースプロキシを使用してSSLでJenkinsを構成する方法に従ってください。

前提条件

このチュートリアルに従うには、次のものが必要です。

ステップ1—Jenkinsをインストールする

デフォルトのUbuntuパッケージに含まれているJenkinsのバージョンは、プロジェクト自体から入手可能な最新バージョンよりも遅れていることがよくあります。 最新の修正と機能を確実に入手するには、プロジェクトで管理されているパッケージを使用してJenkinsをインストールします。

まず、リポジトリキーをシステムに追加します。

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key |sudo gpg --dearmor -o /usr/share/keyrings/jenkins.gpg

gpg --dearmorコマンドは、キーをaptが認識できる形式に変換するために使用されます。

次に、Debianパッケージリポジトリアドレスをサーバーのsources.listに追加しましょう。

sudo sh -c 'echo deb [signed-by=/usr/share/keyrings/jenkins.gpg] http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

行の[signed-by=/usr/share/keyrings/jenkins.gpg]部分は、aptが、ダウンロードしたばかりのGPGキーを使用してリポジトリ内のファイルを検証することを保証します。

両方のコマンドを入力した後、apt updateを実行して、aptが新しいリポジトリを使用するようにします。

sudo apt update

最後に、Jenkinsとその依存関係をインストールします。

sudo apt install jenkins

Jenkinsとその依存関係が整ったので、Jenkinsサーバーを起動します。

ステップ2—Jenkinsを起動する

Jenkinsがインストールされたので、systemctlを使用して起動します。

sudo systemctl start jenkins.service

systemctlはステータス出力を表示しないため、statusコマンドを使用して、Jenkinsが正常に起動したことを確認します。

sudo systemctl status jenkins

すべてが順調に進んだ場合、ステータス出力の最初に、サービスがアクティブであり、起動時に開始するように構成されていることが示されます。

Output● jenkins.service - Jenkins Continuous Integration Server
     Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-04-18 16:07:28 UTC; 2min 3s ago
   Main PID: 88180 (java)
      Tasks: 42 (limit: 4665)
     Memory: 1.1G
        CPU: 46.997s
     CGroup: /system.slice/jenkins.service
             └─88180 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

Jenkinsが稼働しているので、ファイアウォールルールを調整して、Webブラウザからアクセスして初期設定を完了できるようにします。

ステップ3—ファイアウォールを開く

UFWファイアウォールを設定するには、 Ubuntu 22.04でのサーバーの初期設定、ステップ4-基本ファイアウォールの設定にアクセスしてください。 デフォルトでは、Jenkinsはポート8080で実行されます。 ufwを使用してそのポートを開きます。

sudo ufw allow 8080

注:ファイアウォールが非アクティブの場合、次のコマンドでOpenSSHが許可され、ファイアウォールが有効になります。

sudo ufw allow OpenSSH
sudo ufw enable

ufwのステータスをチェックして、新しいルールを確認します。

sudo ufw status

トラフィックはどこからでも8080を移植できることに気付くでしょう。

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8080                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

Jenkinsがインストールされ、ファイアウォールが構成されたら、インストール段階が完了し、Jenkinsの構成を続行できます。

ステップ4—Jenkinsを設定する

インストールを設定するには、サーバーのドメイン名またはIPアドレスhttp://your_server_ip_or_domain:8080を使用して、デフォルトのポート8080でJenkinsにアクセスします。

Unlock Jenkins 画面が表示されます。この画面には、初期パスワードの場所が表示されています。

ターミナルウィンドウで、catコマンドを使用してパスワードを表示します。

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

端末から32文字の英数字のパスワードをコピーして管理者パスワードフィールドに貼り付け、続行をクリックします。

次の画面には、提案されたプラグインをインストールするか、特定のプラグインを選択するオプションが表示されます。

推奨プラグインのインストールオプションをクリックすると、すぐにインストールプロセスが開始されます。

インストールが完了すると、最初の管理ユーザーを設定するように求められます。 この手順をスキップして、上記の初期パスワードを使用してadminとして続行することは可能ですが、ユーザーを作成するために少し時間がかかります。

注:デフォルトのJenkinsサーバーは暗号化されていないため、このフォームで送信されたデータは保護されません。 Ubuntu 22.04でNginxリバースプロキシを使用してSSLでJenkinsを構成する方法を参照して、ユーザーの資格情報とWebインターフェイスを介して送信されるビルドに関する情報を保護してください。


ユーザーの名前とパスワードを入力します。

Jenkinsインスタンスの優先URLを確認するように求めるインスタンス構成ページが表示されます。 サーバーのドメイン名またはサーバーのIPアドレスを確認します。

適切な情報を確認したら、保存して終了をクリックします。 「Jenkinsの準備ができました!」を確認する確認ページが表示されます。

Jenkinsの使用を開始をクリックして、メインのJenkinsダッシュボードにアクセスします。

この時点で、Jenkinsのインストールは正常に完了しています。

結論

このチュートリアルでは、プロジェクトが提供するパッケージを使用してJenkinsをインストールし、サーバーを起動し、ファイアウォールを開き、管理ユーザーを作成しました。 この時点で、ジェンキンスの探索を開始できます。

探索が完了したら、ガイド Ubuntu 22.04でNginxリバースプロキシを使用してSSLでJenkinsを構成する方法に従って、パスワード、およびその間に送信される機密性の高いシステムや製品情報を保護します。 Jenkinsを引き続き使用するには、マシンとサーバーをプレーンテキストで表示します。

Jenkinsを使用して何ができるかについて詳しくは、このテーマに関する他のチュートリアルをご覧ください。