こんにちは!2022年度新卒で楽楽精算開発課に配属されましたThinhと申します。
今回は初めてJenkinsを使用する方に向けて、初期設定〜パイプラインの作成手順を紹介させていただきます。
目次
Jenkinsとは
Jenkinsは、ソフトウェア開発の様々なタスクを自動化するために広く使用されているオープンソースの自動化サーバです。ソフトウェアの構築、テスト、展開を自動化するためのプラットフォームを提供し、チームが開発プロセスを合理化し、ソフトウェア配信を加速できるようにします。
Jenkinsは複数のプラットフォームとプログラミング言語をサポートしているため、開発者にとって汎用性の高いツールとなっています。
Jenkinsはインストールが簡単で、数分でセットアップできます。インストールが完了すると、開発者はJenkinsでジョブを作成して、コードのビルド、テストの実行、本番環境へのコードのデプロイなどのタスクを自動化できます。
Jenkinsはプラグインの使用もサポートしています。プラグインは追加機能を提供し、開発者が特定のニーズを満たすためにJenkinsの機能を拡張できるようにします。
Jenkins の重要な機能の 1 つはパイプライン機能です。これにより、開発者はコードのチェックアウトから展開まで、ソフトウェア開発プロセス全体を自動化できます。プロセスが明確に視覚的に表現されるため、ビルドと展開のステータスを簡単に追跡できます。
Jenkinsの初期設定
Javaのインストール
Jenkinsを実行するマシンにJavaをインストール必要があります。Javaの最新バージョンは、Javaの公式Webサイトからダウンロードできます。
Jenkinsのダウンロード
Jenkinsは、Jenkinsの公式Webサイトから、スタンドアロンアプリケーションとして実行できるwarファイルの形式でダウンロードできます。
Jenkinsの開始
ターミナル又はコマンドプロンプトで次のコマンドを実行してJenkinsを開始します。
java -jar jenkins.war
これにより、ポート8080でJenkinsサーバが起動します。
初期設定
Webブラウザを開き、http://localhost:8080に移動します。指示に従って、管理者パスワードの設定やプラグインのインストールなど、初期設定を完了します。
ジョブの作成
Jenkinsのセットアップが完了したら、ジョブを作成してタスクを自動化できます。Jenkinsのジョブは、Jenkinsダッシュボードから「新規ジョブ作成」リンクをクリックして作成できます。作成するジョブのタイプを選択し、ジョブの名前を指定します。
ジョブの構成
ソースコードリポジトリ、ビルドトリガー、及びビルドステップを指定して、ジョブを構成します。通知の送信や別のジョブのトリガーなど、ビルド後のアクションを指定することもできます。
ジョブのビルド
ジョブが構成されたら、Jenkinsダッシュボードの「今すぐビルド」ボタンをクリックして、ジョブをビルドできます。これによりビルドプロセスがトリガーされ、ジョブ構成で指定されたステップが実行されます。
Jenkinsパイプラインを作成
Jenkinsパイプラインの作成手順
- サーバにJenkinsをインストール、もしくはクラウドベースのJenkinsインスタンスを使用します。
- Jenkins Webインターフェイスにログインし、「新規ジョブ作成」ページに移動します。
- パイプラインに名前を付け、プロジェクトタイプとして「パイプライン」を選択し、「OK」をクリックします。
- パイプラインセクションで「パイプラインスクリプト」を選択し、テキストボックスにコードを入力するか、ソース管理リポジトリでJenkinsfileを指定します。
- パイプラインスクリプトは、ビルド、テスト、デプロイなど、パイプラインのステージとステップを定義する必要があります。JenkinsfileRunnerやPipelineプラグインなどを使用して、パイプラインの機能を強化できます。
- パイプラインを保存して実行し、結果を確認します。
プロジェクト構成ページの「パイプライン」セクションで、ビルドトリガー、電子メール通知、環境変数などの設定を構成することもできます。
Jenkinsfileにバージョン管理(Gitなど)を使用して、変更の追跡やほかのチームメンバーとのコラボレーションを容易にすることもオススメします。
Jenkinsを他のツールと統合
Jenkinsを様々なツールと統合して、その機能を強化し、ソフトウェア開発ワークフロー全体を改善することができます。Jenkinsと統合できる一般的なツールを紹介させていただきます。
- 変更の追跡とコードのコラボレーションのためのGit,SVNなどのバージョン管理システム。
- Maven,Gradleなどの、コードコンパイル及びビルドツール。
- テストケースを自動化するためのJunit,Seleniumなどのテストツール。
- 静的コード分析とコード品質測定のためのCheckStyle, SonarQubeなどのコード品質ツール。
- チーム間のコミュニケーションとコラボレーションのためのSlack、Microsoft TeamsなどのChatOpsツール。
これらのツールをJenkinsと統合するには、Jenkinsプラグインリポジトリで利用可能なプラグインを使用するか、カスタムスクリプトを記述します。Jenkins Webインターフェイスで統合設定を構成することもできます。
Jenkinsを使用する際の注意点
パフォーマンスを監視する
Jenkins インスタンスのパフォーマンスを定期的に監視し、パフォーマンスを最適化するために、遅いビルドや高いリソース使用率などのボトルネックを特定します。クラウド リソースを使用する
Jenkins インスタンスがオンプレミスで実行されている場合は、クラウド リソースを使用して、必要に応じてインスタンスをスケールアップおよびスケールダウンすることを検討してください。適切なハードウェアを使用する
Jenkins マスターとエージェントに、ワークロードを処理するのに十分なリソース (CPU、メモリ、ストレージなど) があることを確認してください。セキュリティ対策を実装する
アクセス制御、暗号化、バックアップなどのセキュリティ対策を実装して、Jenkins インスタンスとデータを保護します。パイプラインの最適化
並列ステージを使用してパイプラインを最適化し、複雑なタスクを小さなステップに分割してビルド時間を短縮します。プラグインを最新の状態に保つ
Jenkins プラグインを最新の状態に保ち、最新の機能とセキュリティ アップデートを確実に使用できるようにします。
参考情報
- Jenkins公式サイト
- Jenkinsのダウンロード
- Jenkins Wiki
- 日本Jenkinsユーザ会
- 図書
- Jenkinsの学習動画コース
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/
カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.com
ラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/
イベント情報
会社の雰囲気を知りたい方は、主催イベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com