Jenkins

Jenkins

Jenkinsは継続的インテグレーション / 継続的デリバリー環境を簡単に構築して、ソフトウェア開発プロセスを高速化できる人気・知名度ともに抜群のタスク自動化サーバーです。

Jenkinsを高速化

Jenkinsとは?

Jenkinsは継続的インテグレーション / 継続的デリバリー環境を簡単に構築して、ソフトウェア開発プロセスを高速化できる人気・知名度ともに抜群のタスク自動化サーバーです。オープンソースで提供されています。ステップごとにスクリプトの作成が必要ですが、パイプライン全体を自動化できます。Javaで開発されており、CI / CD環境の構築に役立つプラグインが1,700種類以上用意されています。

かなり古くからあるツールですが、活気のあるコミュニティも顕在でCI / CD ソリューションとして今もなお最大の人気を誇っています。

今すぐ始める
what is jenkins

歴史

2004年に誕生した当時はHudsonという名前のCIツールに過ぎませんでした。Jenkinsの生みの親であるSun Microsystems社の川口耕介氏です。エラーでビルドが壊れてしまう問題を解決するためにリポジトリにコミットする前にコードをテストして、コードがチェックアウト済みかどうかを確認できるソリューションを開発しました。これがチーム内で人気を集めたためJenkinsとしてオープンソース化し、今に至ります。現在では継続的デリバリー (CD) ツールとしても使われています。

しくみ

Jenkinsはソフトウェアの継続的なビルド / テストの実行、変更の統合、CI / CDプロセスを自動化し、デプロイメントツールやテストツールと統合することで継続的デリバリーを実現します。また、ソフトウェアの開発とデリバリープロセス全体を自動化することもできます。

無料トライアルは

こちらをクリック

Jenkinsのプラグイン

Jenkinsには1,700種類以上のプラグインがあり、より優れた包括的な製品の開発をサポートし、デプロイ、開発、テストにおいてさまざまな機能を提供しています。

タスクの大半はJira、GitHub Pull Request Builder、Kubernetes、Maven、Microsoft Excel、Google Drive、GmailなどのツールとJenkinsを統合して行います。プラグインはリストからインストールをクリックするだけで利用できます。Jenkinsと他の言語やソースコード リポジトリとの組み合わせは非常に多く、対応していない言語やソースコードはまずありません。

Jenkinsライブラリ

Jenkinsライブラリや共有ライブラリ (JSL) を使えばパイプライン間での同じコードの繰り返しを避けられます。コードに共通のパターンがある場合 (コードレビュー用のコードなど) や異なるチーム間でコードを使い回す場面では、再利用したいコードを共有ライブラリに保存しておけば一度インクルードするだけで、修正も1か所で済みます。

共有ライブラリにはgroovyスクリプトが使われます。まず空のプロジェクトを作成してGitリポジトリに追加し、その中に「vars」フォルダを作成します。次に「vars」フォルダに移動して任意の「groovyファイル」を作成します。

メリット

  • 巨大で活気のあるコミュニティ
  • 無料
  • インストールやセットアップが簡単
  • 1,000種類以上のプラグイン
  • 主要プラットフォームならどれでも動作

JenkinsとBambooの違い

一番大きな違いはBambooが商用ツール (有料) でJenkinsがオープンソース (無料) ということです。また、大抵の機能がすでに搭載されているBambooに比べて、Jenkinsは圧倒的にたくさんのプラグインで機能を拡張できます。サポートに関してはコミュニティー任せのJenkinsに比べて、商用ソリューションのBambooに分があります。Jenkinsのサポートはコミュニティによって行われています。詳しくはこちらのブログ記事 (英語) をご覧ください。また、JenkinsとTeamCityJenkinsとAzureDevOpsの比較記事も掲載しています。

Incredibuildとの統合

Incredibuildと統合して演算処理をJenkinsノード経由でネットワークやパブリック クラウドのマシンに分散することができます。各ノードを数百コアのスーパーコンピューターに変えて、時間のかかるタスク (コンパイル、ユニットテスト、QAスクリプト、コード解析、パッケージング、アセット作成など) を加速します。IncredibuildとJenkinsの統合の詳細はこちらをご覧ください。

icon

まとめ

JenkinsはオープンソースのCI / CDツールです。豊富なプラグインと大規模なコミュニティをご利用になれます。

無料ライセンス

More CI/CD tools