「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化
ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。
そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、Git、Docker、Kubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。
Jenkins Xは、Git/Docker/Kubernetes環境に特化
オリジナルのJenkinsは汎用的なビルドやテストの自動化ツールとして、さまざまな環境やツールと連係できるように作られています。そのため柔軟なコンフィグレーションが可能になっていますが、一方でそれが導入やコンフィグレーションの複雑さにつながり、手間がかかると認識される面がありました。
一方、ここ数年でソースコードのリポジトリとしてGitが普及し、実行環境としてはDockerコンテナの利用も広がり、DockerコンテナのオーケストレーションツールとしてKubernetesが事実上の標準の地位を得たとみられるようになりました。
そこでJenkins Xは、あらかじめGit、Docker、Kubernetesを利用するという前提でJenkinsの環境設定や運用をできるだけ自動化するように作られています。
Jenkinsブログの記事「Introducing Jenkins X: a CI/CD solution for modern cloud applications on Kubernetes」によると、Jenkinx Xは次のような機能を備えています。
Jenkins X導入時には、自動的にJenkinsのコンフィグレーションであるJenkinsfile、ソースコードをビルドして実行可能なDockerイメージにパッケージングするためのDockerfile、それをKubernetes環境へデプロイするための構成ファイルであるHelm chartが自動的に生成されます。
プルリクエストが発生すると、Jenkins Xは自動的にテスト、ビルドしたDockerイメージをKubernetesのPreview名前空間にデプロイ。開発チームのメンバーはすぐにプレビュー版を試すことが可能です。
プルリクエストがマスターブランチにマージされると、新しいバージョン番号が付けられたリリースがビルドされ、Kuberenetes上のステージング環境へデプロイされます。
Kubernetes上のステージング環境やプロダクション環境(本番環境)などの構成もすべてGitでコードとして記述され、Jenkins Xによって管理されます。同社はこれをGitを使った運用(Operation)ということで「GitOps」と名付けています。
Jenkinsは事実上、DockerコンテナとKubernetesを基盤としたアプリケーションを開発することにフォーカスしていると言えます。この環境に対応するアプリケーションの開発は、現時点ではまだ野心的なプロジェクトですが、Jenkins Xはそこを割り切ることでJenkinsの将来像の1つを示すプロジェクトとなることを目論んでいるのでしょう。
下記はJenkins Xが容易に導入できることを示した動画です。
参考記事
ビルドやテスト、デプロイなどの自動化ツール「Jenkins」のUXをシンプルかつビジュアルにする「Blue Ocean」が、正式版のバージョン1.0に到達。リリースが発表されました。
ビルドやテスト、デプロイなどの自動化を実現してくれるツール「Jenkins 2.0」が登場し、そのJenkinsのUXをモダンで魅力的なものにする新プロジェクト「Blue Ocean」が発表され、ソースコードの公開が始まりました。
あわせて読みたい
Google Cloud上のサービスをDDoS攻撃から守る新機能「Cloud Armor」公開。XSSやSQLインジェクションも防御可能
≪前の記事
Eclipse Foundationが、Java EEの新ブランドとなった「Jakarta EE」のロゴをコミュニティから募集中。締め切りは3月21日