Jenkinsは、無料のオープンソースの継続的インテグレーションサーバーです。それはJAVAで書かれています。テストの構築や展開など、ソフトウェア開発に関連するさまざまなタスクを自動化するために使用できます。 git、SVN、mercurialなどの多くのバージョン管理システムをサポートしています。
このチュートリアルでは、CentOS7サーバーにJenkinsAutomationServerをインストールします。また、NginxをJenkinsのリバースプロキシとして設定します。
前提条件
- 最小限のCentOS7サーバー
- root権限。このガイドはrootユーザーとして作成されています。sudoユーザーとしてログインしている場合は、sudo-iを実行してください。
パッケージをインストールする前に、次のコマンドを使用してパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムが更新されたら、さらにJAVAのインストールに進みます。
JAVA8をインストール
JenkinsはOpenJDKとOracleJAVAの両方をサポートしています。このチュートリアルでは、最新バージョンのOpenJDKをサーバーにインストールします。次のコマンドを実行して、サーバーにOpenJDKをインストールします。
yum install java-1.8.0-openjdk
これで、次のコマンドを使用してJavaのバージョンを確認できます。
java -version
次の出力が得られます。
[[email protected] ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
また、JAVA_HOME環境変数が設定されているかどうかを確認する必要があります。同じように次のコマンドを実行します。
echo $JAVA_HOME
nullまたは空白の出力が得られた場合は、JAVA_HOME変数を手動で設定する必要があります。お気に入りのエディタを使用して.bash_profileファイルを編集します。このチュートリアルでは、nanoエディターを使用します。次のコマンドを実行して、nanoを使用して.bash_profileを編集します。
nano ~/.bash_profile
次に、ファイルの最後に次の行を追加します。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/ export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
次のコマンドを使用してファイルを入手します。
source ~/.bash_profile
これで、echo $ JAVA_HOMEコマンドを再度実行して、環境変数が設定されているかどうかを確認できます。
[[email protected] ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
これでJAVAがインストールされたので、さらにJenkinsのインストールに進むことができます。
Jenkinsをインストール
Jenkinsは、リポジトリを追加してGPGキーをインポートすることで直接インストールできます。次のコマンドを実行して、Jenkinsリポジトリをシステムに追加します。
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
wgetがインストールされていない場合は、yum -yinstallwgetを実行できます。
次のコマンドを実行して、GPGキーをインポートします。
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
インポートが成功したら、次のコマンドを実行してJenkinsをインストールできます。
yum -y install jenkins
Jenkinsがサーバーにインストールされました。これで、必要なすべてのパッケージがインストールされました。インストーラーは、プロセスを実行するための新しいユーザーjenkinsも作成しました。さらに進んでサーバーを起動できます。
次のコマンドを実行すると、Jenkinsを起動できます。
systemctl start jenkins
Jenkinsを停止するには、次のコマンドを実行できます。
systemctl stop jenkins
次のコマンドを実行すると、プロセスのステータスを確認できます。
systemctl status jenkins
Nginxをインストール
ポート8080でアプリケーションにアクセスする代わりに、ApacheまたはNginxWebサーバーを使用してアプリケーションのリバースプロキシを作成できます。このチュートリアルでは、アプリケーションのリバースプロキシとしてnginxを使用します。これで、nginxはnginxプロキシサーバーの背後で実行されます。 nginxはデフォルトのYUMリポジトリでは使用できません。 Nginxをインストールするには、EPELリポジトリをインストールする必要があります。
yum -y install epel-release
これで、次を実行してNginxをインストールできます:
yum -y install nginx
次のコマンドを実行して、新しいサーバーブロックを作成します。
nano /etc/nginx/conf.d/jenkins.conf
ファイルに次の内容を入力します。 ci.yourdomain.comを実際のドメイン名に置き換えます。
upstream jenkins{ server 127.0.0.1:8080; } server{ listen 80; server_name ci.yourdomain.com; access_log /var/log/nginx/jenkins.access.log; error_log /var/log/nginx/jenkins.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://jenkins; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; 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 https; } }
ファイルを保存して、エディターを終了します。これで、次のコマンドを実行してNginxを起動できます。
systemctl start nginx
次のコマンドを実行して、起動時にNginxを自動的に起動できるようにします。
systemctl enable nginx
サーバーでファイアウォールを実行している場合は、ポート8080と標準のHTTPポートがファイアウォールを通過できるようにする必要があります。次のコマンドを実行して、ポート8080および80を許可するファイアウォールルールを追加します。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
次を実行してファイアウォールゾーンをリロードします:
firewall-cmd --reload
次のコマンドを実行して、nginxプロキシ構成用にSELinuxを構成します。
setsebool httpd_can_network_connect 1 -P
これで、次のWebアドレスにアクセスして、JenkinsCIサーバーのWebインターフェイスにアクセスできます。
http://ci.yourdomain.com
ci.yourdomain.comを実際のドメインに置き換えます。次のインターフェースが表示されます。
インストーラーによって生成され、/ var / lib / jenkins / secrets/initialAdminPasswordファイルに保存されている初期管理者パスワードの入力を求められます。次のコマンドを実行して、初期管理者パスワードを取得します。
cat /var/lib/jenkins/secrets/initialAdminPassword
パスワードを使用してログインを続行します。
次のセクションでは、インストールするプラグインを尋ねられます。初心者の場合は、推奨プラグインのインストールを選択することをお勧めします。 。
これにより、開始に必要なすべてのプラグインがインストールされます。
次のインターフェースで、プラグインをインストールします。
次に、Jenkins管理ダッシュボードの管理者ユーザーを作成する必要があります。
最後に、Jenkins管理ダッシュボードに移動します。
これで、Jenkinsを使用してソフトウェア開発の継続的インテグレーションを行うことができます。 JenkinsのWebサイトにアクセスすると、Jenkinsの詳細を確認できます。