(この記事は、CloudBees社 Blog 「A Look Back at the First Year of the CloudBees Assurance Program」2017年10月4日 Andres Rodriguez 投稿の翻訳記事です。)
約1年前のJenkins World 2016で CloudBees Assurance Program (以下CAP)が発表され、それからさまざまな動きがありました。
Jenkinsのすばらしいエコシステムを可能にしているのは、Jenkinsコアによって提供される大きな拡張性です。Jenkinsでは、互いに独立して発展できる複数のプラグインによって、さまざまな機能が提供され、それがイノベーションの勢いを促進しています。しかし、最新かつ最高の機能性を利用することには、頻繁なJenkinsコアやプラグインのバージョンアップが必要となり、企業では受け入れがたいリスクも伴います。
CAPは、最新の機能およびバグ修正に加えて、 企業のJenkinsの基盤として驚くほど簡単な運用とバージョンアップを可能にするという、いいとこ取りを可能にするイニシアチブです。
この盤石のJenkinsという目標を達成するための重要な要素がディストリビューションであり、次のような特徴を備えています。
- キュレーションによって選択されたコンポーネント、Jenkinsコアおよび特定のバージョンのプラグインのセット(推奨構成)であり、リリースごとに互換性の問題が発生しない組み合わせでアップグレードされる。
- 広範かつ厳しいQAプロセスを経ている。このプロセスでは、ディストリビューション全体として、またアップグレードパスに沿って完全な検証が行われます。
- 最新のセキュリティ修正が含まれている。
リリースノートのアプリケーションは、CAPがどのようにディストリビューションのプラグインを分類しているかを示しています
Jenkinsエコシステムの急速な進化の利点をあますところなく活用するために、ディストリビューションはローリング リリース トレインで提供されます。つまり、バグ修正と新機能を含む新しい推奨構成からなるリリースが4~6週間ごとに出荷されます。
さて、CAPの初年度はどんなものだったでしょうか?
まず、CAPがCloudBees Jenkins Platformに最初に登場してから、今年に入って、 CloudBees Jenkins TeamおよびCloudBees Jenkins Enterpriseの基盤となるディストリビューションモデルとともに、CloudBees Jenkins Solutionsの不可欠な部分になっています。
互換性の問題を排除した推奨構成のバージョンアップとプラグインキュレーションプロセスを活用して、CAPはBlue OceanのGAやSCM APIの改良など、Jenkinsコミュニティによるすばらしい開発成果の円滑な導入を可能にしました。これらは適切な組み合わせでインストールされていないと問題を引き起こす可能性のある多くのプラグインの変更を含んでいます。
推奨構成には特定のプラグインが含まれているだけでなく、ディストリビューションのリリースごとに、使用するべき特定のJenkinsコアバージョンがあります。今年に入って、ローリング トレインが徐々にJenkinsのLTSリリース トレインのスケジュールに近づいており、Jenkinsコアの最新の修正プログラムをより早くCloudBees Jenkins Solutionsで提供できるようになりました。実際、昨年7月以降、CloudBeesはすべてのリリース1でプライベートビルドを使用し始めました。このアプローチにより、Jenkins コア LTSのリリース候補(RC)のテストがコミュニティで開始されると同時に、CloudBeesがディストリビューションレベルの脆弱性の検証を開始するようなことが可能になり、次の利点が得られます。
- コミュニティとのフィードバックループを強化し、RCサイクル中のテスト作業を増やし、最終的な信頼性をより高めることに貢献します。
- 最新の改善や修正がCloudBees Jenkins Solutionsで利用できるようになるまでの時間を短縮します。
プライベートなJenkinsコアビルド2を使用することで、コミュニティが提供するJenkins LTSコアと多少の違いがあるものを提供するという柔軟な対応も可能になります。たとえば、CloudBees製品に特別な影響を及ぼす可能性のある修正が後のLTSリリースに組み込まれる予定である場合、それを先行して含めるなどです。このような対応は例外的な状況でのみ行われ、CloudBeesは相違を最小限に抑えるためにコミュニティと緊密に協力しています。
最後に、セキュリティについてお話しましょう。上記のアプローチは、Jenkinsコアのセキュリティ修正がコミュニティで利用可能になると同時に、他のリリースと同じ品質レベルで、CloudBees Jenkins Solutionsでもそのセキュリティ修正を提供するために重要です。プラグインについてはどうでしょうか。ディストリビューションモデルは、プラグインのセキュリティ修正を新しい推奨構成として提供することを可能にします。これにより、すべてが期待どおりに動作するために必要な依存プラグインや関連プラグインが自動的にアップグレードされます。さらに、昨年1月に提供された新しい機能であるインクリメンタルアップグレードは、ディストリビューションモデルのすべての利点を維持しながら、プラグインのみのセキュリティアップグレードを適用することを容易にします。
CAPが開始されてからの1年間で、プログラムは大きな成功を収め、顧客に重要な付加価値を提供してきました。CAPを利用すると、ビジネスにリスクをもたらすことなくオープンソースの革新を最大限に引き出すことができます。ディストリビューションの運用とアップグレードをさらに驚くほど単純にするために、まだ多くの改良がバックログに残されており、CloudBeesは早くそれらの機能をご提供できるよう努力しています。
1これはまずオンデマンドで、またはコミュニティでサポートされなくなったLTSラインのバージョンのために行われました。
2これは、CloudBees Jenkins Solutionsが現在コミュニティでサポートされているLTSラインに基づいている場合に、プライベートコアビルドを使用することを指します。また、CloudBeesは内部コアビルドを使用して、古いLTSラインをベースにしているサポート対象製品にセキュリティ修正をバックポートします。