Jenkinsは、アプリケーションの継続的インテグレーションとデプロイのためのオープンソースの自動化ソフトウェアです。
一言で言えば、Jenkinsは、プロジェクトがすべての複雑な作業を自動的に実行することを保証するサーバーです。コードの記述に集中できます。これは継続的インテグレーションツールです。つまり、バージョン管理システムにコードをチェックインするたびに自動テストが実行されます。
Jenkinsは何をしますか?
Jenkinsは多くのことを行うことができます。 Jenkinsの最も一般的な使用法は、おそらくバージョン管理システムからプロジェクトをチェックアウトし、ビルドし、ビルドされたアプリケーションに対して自動テストを実行することです。ただし、これは氷山の一角にすぎません。 Jenkinsにはさらに多くの機能があります。展開タスクを実行したり、バージョン管理システムからプルしたり、ファイルシステムの変更を監視したりすることができます。
Jenkinsはオープンソースであり、主にJava言語で記述されています。これは、複雑なことをすべて自動的に複数回実行できるようにするために使用する可能性のある自動化サーバーです。そのため、Jenkinsが実行するたびに、人的エラーが排除されます。
Jenkinsは、タスクを自動化することで私たちを支援することもできます。これにより、私たちの側でより少ない労力でより多くの作業を行うことができます。タスクの種類によっては、テストの自動化を選択する人もいれば、展開の自動化を選択する人もいます。
このガイドでは、AlmaLinux 8システムにJenkinsをインストールする方法と、いくつかの基本的な構成のアイデアについて説明します。
- このガイドは、サーバーにAlmaLinux8がすでにインストールされていることを前提としています。サーバーへのSSHアクセスも必要です。
- Jenkinsをインストールし、その他のタスクを実行するには、rootアクセスが必要です。
- 最小ハードウェア要件:1 GBのRAM、10 GBの空きディスク容量、および適切なプロセッサ。
始める前に、次のコマンドを実行して、サーバーが最新であることを確認する必要があります。常に、最新の更新されたシステムから始めることをお勧めします。
sudo dnf update -y
sudo dnf upgrade -y
sudo dnf install epel-release
Javaのインストール
JenkinsをAlmaLinux8にインストールするには、Javaをインストールする必要があります。 Jenkinは主にJava言語で記述されているため、このツールを機能させるにはJavaをインストールする必要があります。
このチュートリアルではOpenJDKを使用します。 OpenJDKは、Java Platform、Standard Edition(Java SE)の無料のオープンソース実装です。必要に応じてOracleJDKを使用することもできますが、AlmaLinux8リポジトリは現在それを提供していません。
次のコマンドを実行して、サーバーにOpenJDKをインストールします。
sudo dnf install java-1.8.0-openjdk -y
インストールが完了したら、インストールしたJavaのバージョンを確認します。次のコマンドは、Javaバージョンを表示するはずです。
java -version
出力例:
Jenkinsリポジトリの追加
Jenkinsリポジトリは、Jenkinsをダウンロードできるインターネット上の特定の場所です。このようなリポジトリはたくさんあります。最も人気のあるもの、Jenkins公式サイトで参照されているものを使用します。
まず、Jenkins公式サイトがファイルの署名に使用する公開PGPキーをインポートします。
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
次に、次のコンテンツを含む新しいソースリスト/etc/yum.repos.d/jenkins.repoを作成します。
sudo tee /etc/yum.repos.d/jenkins.repo<<EOF [jenkins] name=Jenkins-stable baseurl=http://pkg.jenkins.io/redhat-stable gpgcheck=1 EOF
次に、makecacheコマンドを実行して、このリストで利用可能なすべてのパッケージのメタデータをダウンロードします。
sudo dnf makecache
次に、以下のコマンドを実行して、この新しいソースリストが正しく追加されたことを確認します。出力にjenkinsを含む行が表示されます。
sudo dnf repolist
出力例:
以下のコマンドを実行して、jenkinsリポジトリが有効になっていることを確認します。
sudo dnf repolist Jenkins-stable
出力例:
Jenkinsリポジトリが有効になっていない場合は、以下のコマンドを実行して有効にします。
dnf config-manager --set-enabled Jenkins-stable
Jenkinsのインストール
Jenkinsリポジトリを追加したので、以下のコマンドを使用してJenkinsをインストールできます。
sudo dnf -y install jenkins
インストールしたら、以下のコマンドを使用してJenkinsを起動し、起動時に自動的に実行できるようにします。
sudo systemctl start jenkins
sudo systemctl enable jenkin
次のコマンドを実行して、Jenkinsサービスのステータスを確認します。すべてが正常であれば、緑色のアクティブ(実行中)ステータスになります。
sudo systemctl status jenkins
サンプル出力:
Jenkinsの停止は、以下のコマンドで開始するのと同じくらい簡単です。
sudo systemctl stop jenkins
Jenkinsは、デフォルトでポート8080で実行されます。外部コンピュータからこのサービスにアクセスできるようにするには、ポートを開く必要があります。また、次のコマンドを使用して、リモート接続を許可し、ポート8080でTCPトラフィックを許可します。
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
経験則として、ファイアウォール構成を再ロードして、以下のコマンドで追加した新しいルールを適用します。
sudo firewall-cmd --reload
以下のコマンドを実行して、すべてのファイアウォールルールを一覧表示し、ポート8080のルールがあることを確認します。
sudo firewall-cmd --list-all
サンプル出力:
JenkinsWebUIへのアクセス
Jenkinsをインストールしてファイアウォールを構成したので、サーバーのIPアドレスまたはドメイン名に続けてポート8080を入力することで、Webブラウザーを使用してファイアウォールにアクセスできます。たとえば、JenkinsがIPアドレス192.168.0.1のサーバーにインストールされている場合、 URLはhttp://192.168.0.1:8080になります。
管理者パスワードが記載された[はじめに]ページに移動します 下のスクリーンショットのようなフィールド。 Jenkinsは、initialAdminPasswordファイルを使用して、不正なインストールを防止します。このパスワードは、Jenkinsのインストール中に自動的に作成されますが、ターミナルには表示されません。
このパスワードを取得するには、端末に戻って以下のコマンドを実行します。パスワードは赤で強調表示されています。
cat /var/lib/jenkins/secrets/initialAdminPassword
このパスワード値をコピーし、それを使用して管理者パスワードを完成させます JenkinsWebUIのフィールド。コピーしたパスワードを入力し、続行をクリックします ボタン。
Jenkinsのカスタマイズに移動します プラグインをインストールおよび構成できるページ。最初の「推奨プラグインのインストール」 、」は初心者に推奨されるルートですが、上級ユーザーは「インストールするプラグインを選択」を選択する必要があります。 「最終的には、後でJenkinsWebインターフェイスからプラグインを追加または削除することもできます。
プラグインのインストールが完了すると、最初の管理者ユーザーの作成に移動します。 ページ。この管理者ユーザーのユーザー名、パスワード、および電子メールを提供します。このアカウントには強力なパスワードを選択することをお勧めします。クレデンシャルを入力したら、保存して終了をクリックします ボタン。
次のインスタンス構成 ページでデフォルトのままにして、保存して続行をクリックします ボタン。
最後に、Jenkinsの使用を開始をクリックします 最後のページでJenkinsの使用を開始します。
Jenkinsダッシュボードに移動し、そこでジョブの作成を開始できます。
このチュートリアルでは、AlmaLinux8サーバーにJenkinsをインストールして構成する方法を学習しました。これで、Jenkinsサーバーへのジョブの追加、およびそれらのステータスの更新と監視を開始できます。プラグインを追加してJenkinsの機能を強化したり、WebUIからさらに構成したりすることもできます。