0001ノチラ ★
2018/03/22(木) 20:41:08.77ID:CAP_USERそのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、Git、Docker、Kubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです
http://www.publickey1.jp/2018/jenkins_x.gif
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つを示すプロジェクトとなることを目論んでいるのでしょう。
http://www.publickey1.jp/blog/18/jenkins_xgitdockerkubernetescicd.html