Ubuntu22.04にJenkinsをインストールする方法
序章
Jenkins は、ソフトウェアの継続的インテグレーションとデリバリーに関連する反復的な技術タスクを自動化するオープンソースの自動化サーバーです。 JenkinsはJavaベースであり、Ubuntuパッケージからインストールするか、Webアプリケーションアーカイブ(WAR)ファイル(サーバー上で実行する完全なWebアプリケーションを構成するファイルのコレクション)をダウンロードして実行します。
このチュートリアルでは、Ubuntu 22.04にJenkinsをインストールし、開発サーバーを起動して管理ユーザーを作成し、Jenkins自動化の調査を開始します。 このチュートリアルを終了すると、セキュリティで保護されていないJenkinsサーバーが開発展開の準備が整います。 本番用にインストールを保護するには、ガイド Ubuntu22.04でNginxリバースプロキシを使用してSSLでJenkinsを構成する方法に従ってください。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Ubuntu 22.04初期サーバーセットアップガイドに従って、root以外のsudoユーザーとファイアウォールで構成された1台のUbuntu22.04サーバー。 少なくとも1GBのRAMから始めることをお勧めします。 実稼働レベルのJenkinsインストールの容量を計画する際のガイダンスについては、Jenkinsの「ハードウェアの推奨事項」にアクセスしてください。
- 特定のバージョンのOpenJDKをUbuntu22.04にインストールするためのガイドラインに従ってOracleJDK11をインストールしました。
ステップ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
The 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'
The [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を設定する
インストールを設定するには、デフォルトのポートでJenkinsにアクセスします。 8080
、サーバーのドメイン名またはIPアドレスを使用します。 http://your_server_ip_or_domain:8080
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を使用して何ができるかについて詳しくは、このテーマに関する他のチュートリアルをご覧ください。