UX / UI のデザインに強いWebシステムの開発と、BtoB Webマーケを支援するWeb制作を提供するN’s Creates (エヌズクリエイツ) 株式会社のエンジニアの本田です。
私は案件でPLをいくつか担当しているので、工数管理も少々経験しているのですが、
顧客の要望に応え、開発を進める上で、これは少しエネルギーが必要だなと感じる作業が、
リリース管理です。今回はそんなリリース管理の負担を少しでも和らげるべく、
CI/CDツールについて、中でもその代表格であるJenkinsについて紹介したいと思います。
Jenkinsは、「ソフトウェアのリリーススピードの向上」、「開発プロセスの自動化」、「開発コストの削減」
といった目的を実現するためのオープンソースのツールです。
Linux Foundationsによって管理されています。
170万ユーザー以上の導入実績があり、世界中のエンジニアによって開発された
1,800以上ものプラグインが利用可能なことが特徴です。
Jenkinsの説明について触れましたがそもそも、CI/CDツールとはなんでしょうか。
厳密にはCIツールとCDツールは異なる概念です。
CIとは継続的インテグレーション(Continuous Integration)の略で、
開発プロセスの中で加えた変更の度のビルド実行、テスト、ソースのマージ、フィードバックといった
一連の開発作業のつながりのことを指します。
CDとは継続的デリバリー(Continuous Delivery)の略で、
上記の開発プロセス + リリース作業までを含みます。
CIツールでは、コードレベルのテストまでを自動化する一方、
CDツールでは、実行環境の調整やリリースを含んだ作業の自動化を行います。
それでは、実際にJenkinsを使ってみましょう。
今回は皆さんお馴染みのAmazon Linux環境を利用します。
まず、Jenkinsアクセス用の8080ポートと、SSH接続用の22ポートを設定します。
次にLinux環境にログインします。
JDKとJenkins本体をインストールします。
sudo wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm –import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.keysudo yum upgradesudo dnf install java-11-amazon-correttosudo yum install jenkins
※この時気をつけなければいけないのが、AWS環境の場合通常のJDKではなくAmazon Correttoを利用する必要があります。
こちらのメッセージが表示されればインストール成功です。
jenkins.serviceの有効化、起動を行います。
sudo systemctl enable jenkinssudo systemctl start jenkins
jenkins.serviceの状態を確認し、activeになっていれば成功です。
sudo systemctl status jenkins
ここまで完了すれば、URLを開きます。http://<ドメイン>:8080
すると初期パスワードの入力を求められます。
Linux上から初期パスワードのフォルダをviewし、入力すると
Admin Userの作成画面に進みます。
その次に、パッケージのインストールを進めます。
通常は推奨のパッケージ群をインストールすることになります。
(Install suggested pluginsを選択)
最後にルートの設定を行います。
[Start using Jenkins]をクリックすると、ついにダッシュボードのお目見えです。
左上にお馴染みのおじさんが出ていますね。
こちらの画面から開発プロセスの管理を行なっていくことができます。
今回は、Jenkinsについて紹介してみました。
CI/CDツールの代名詞とも言えるサービスなので皆さんも一度は手に触れてみてはいかがでしょうか。
では!