CloudBees CI: ビジネスミッションクリティカルな環境向けのJenkinsの強化


著者: 川口 耕介

高品質のソフトウェアを迅速かつ確実に、そして安全に提供することが、ビジネスの成功にとって重要になっています。マッキンゼーの調査によると、ソフトウェアを頻繁に(毎日または毎週)リリースしているトップクラスの企業は、そうでない企業よりも、高い収益成長を達成する可能性が2倍高くなります。このようなスピードへのニーズにより、コードのプッシュ、ビルド、テスト、フィードバックループなどの重要なタスクを自動化し、クリーンでデプロイ可能なコードベースを実現する継続的インテグレーション(CI)の需要が高まっています。

Jenkinsは最も広く使われているCIソリューションの1つです。CI市場シェアの約44%を占めているという試算もあります。しかし、企業が成長し、ソフトウェア開発のニーズがより複雑になるにつれて、Jenkinsの管理とスケーリングが難しくなる可能性があります。ここでCloudBees CIの出番です。CloudBees CIは、管理を簡素化し、スケーラビリティを強化するように設計されたJenkinsのエンタープライズ拡張です。これにより、組織は高い品質とセキュリティ標準を維持しながら、ソフトウェアデリバリーを加速することができます。

この記事では、CloudBees CIがミッションクリティカルな環境のニーズを満たすために、すでにJenkinsを使用している組織のエクスペリエンスをどのように向上させるかについて説明します。

JenkinsとCloudBees CIの概要
Jenkins

Jenkinsは、継続的インテグレーションとデリバリーのために設計されたオープンソースの自動化プラットフォームです。2011年にHudsonプロジェクトのフォークとして立ち上げられたJenkinsは、ソフトウェアアプリケーションのビルド、テスト、実行、デプロイを自動化する機能を提供します。その1,900個を超えるプラグインにより、Jenkinsは幅広いツールとテクノロジをサポートするためにカスタマイズや拡張が可能であり、さまざまなワークフローや環境に適応できます。

JenkinsはCI/CD分野で最も人気のあるツールの1つであり、市場シェアは推定44%です。その活発なコミュニティがサポートを提供し、定期的にアップデートに貢献しています。現在、Continuous Delivery FoundationがJenkinsを管理しており、Amazon Web Services (AWS)、GitHub、CloudBeesなどがスポンサーとなっています。

CloudBees CI

CloudBees CIはCloudBeesが提供する製品スイートの一部であり、開発チームが、信頼性の高いスケーラブルで安全なソフトウェアをより迅速に構築することを可能にします。2014年に導入されたCloudBees CIは、Jenkinsを基盤として構築されており、大規模なJenkinsインスタンスを管理する包括的な方法を提供します。CloudBees CIは、SalesforceHSBC BankAutodeskなど、Jenkinsを活用しながらも、Jenkinsの管理、スケーリング、使用に関する追加機能を必要とする大企業向けに特別に設計されています。

CloudBees CIは、スケーラビリティ、信頼性、セキュリティ、ガバナンスを強化する高度な機能でJenkinsの機能を拡張します。たとえば、CloudBees CIは、チームが単一のインターフェイスから複数のJenkinsコントローラーとエージェントを管理できるOperations Centerを提供します。この一元管理により、異なるJenkinsコントローラーがエージェントのプールを共有できるようになり、リソースの使用率が最大化され、インフラストラクチャのコストが削減されます。

さらに、CloudBees CIは、きめ細かなロール(役割)ベースのアクセス制御やエンタープライズグレードのSLAサポートなど、複雑なセキュリティ要件を持つ組織のための追加機能も提供します。

CloudBeesのプリンシパルソリューションアーキテクトであるBill Garrett氏は、「CloudBees CIは、Jenkinsの優れた点を取り入れ、エンタープライズグレードの機能を追加することで、よりスケーラブルで信頼性が高く、安全なものになっています」と述べています。

CloudBees CIがJenkinsエクスペリエンスにもたらす主な機能強化

組織が拡大するにつれて、セキュリティ、コンプライアンス、運用効率の課題に直面することが多くなりますが、標準のJenkinsのインストールでは十分に対処できない場合があります。CloudBees CIは、以下のような重要なエンタープライズグレードの機能を提供することで、Jenkinsエクスペリエンスを強化します。

1. Operations CenterによるJenkinsの一元管理

2021年から2023年にかけて、Jenkinsパイプラインの使用は79%増加しました。この増加は、チームがソフトウェア開発プロセスに自動化を取り入れたことによるもので、効率性と精度の向上にプラスの影響を与えています。ただし、一般的な設定で複数のチームやプロジェクトにまたがる複数のJenkinsコントローラーを管理するのは大変な作業です。

各コントローラーは独立して動作し、個別の構成、プラグインの更新、ユーザー管理、定期的なバックアップが必要です。さらに、各コントローラーのセキュリティ設定とロール(役割)を手動で構成する必要があり、ダウンタイムが発生した場合は、Jenkinsコントローラーと中断したジョブを再起動するために手動で介入する必要があります。この分散型アプローチは、管理者にとってすぐに悪夢となり、一貫性の欠如、メンテナンス作業の増加、CIパイプラインの断片的なビューにつながります。

CloudBees CIは、大規模な複数のJenkinsインスタンスを管理するための一元化されたプラットフォームを提供するOperations Centerを通じて、これらの課題に対処します。Operations Centerを使用すると、次のことが可能になります。

  • 単一のOperations Centerインターフェイスから、複数のKubernetesクラスターにわたってJenkinsコントローラーをデプロイおよび管理します。
  • 単一のダッシュボードからすべてのJenkinsインスタンスの健全性とパフォーマンスを監視することで、問題の特定とトラブルシューティングが容易になります。
  • すべてのJenkinsインスタンスに対して、構成、セキュリティポリシー、プラグインを統一的に適用します。

複数の開発チームを抱える大規模な組織でJenkinsを管理しているとします。チームAはJenkinsインスタンス1を使用し、チームBはJenkinsインスタンス2を使用しています。それぞれのチームに独自の構成があり、セキュリティアップデートがあるたびに2回適用する必要があります。Operations Centerを使用すれば、セキュリティ設定を1回更新するだけで、すべてのインスタンスに適用することができます。また、Operations Centerクラスター内のすべてのJenkins コントローラーのステータスを表示する統合ダッシュボードも利用できるため、CI環境の監視が容易になります。

2. 共有エージェントによるリソース利用の最適化

Jenkinsを使用すると、ビルドエージェントを簡単に起動して、CIパイプラインの特定のタスクに取り組むことができます。1つのエージェントがプロジェクトをビルドし、別のエージェントがテストを実行します。ただし、これにより、リソースが十分に活用されなかったり、過剰に活用されたりする可能性もあります。たとえば、あるチームのエージェントがアイドル状態である一方で、別のチームのエージェントがタスクで溢れかえり、計算リソースが効率的に使用されなくなり、インフラコストが増大する可能性があります。

CloudBees CIは、Operations Centerから複数のJenkinsコントローラー間で共有エージェントを有効にすることで、この非効率性に対処します。この共有エージェントモデルにより、リソースのより動的な割り当てが可能になり、エージェントが最大限に活用されます。コントローラーがエージェントを必要とする場合、共有プールからエージェントを動的に要求できるため、現在の需要に基づいてリソースを効率的に活用できます。

チームAのJenkinsインスタンスにアイドル状態のエージェントが複数存在し、チームBのインスタンスで大量のビルドが発生している状況を考えてみましょう。CloudBees CI共有エージェントを使用すれば、チームBで大量のビルドが発生すると、チームAのアイドル状態だったエージェントを含め、共有エージェントプールが使用可能になります。各共有エージェントは、チームBのキューから1つのジョブに割り当てられます。ジョブが完了すると、エージェントはすぐに共有プールに戻ります。これにより効率が向上し、使用率の低い複数のエージェントを維持するコストが削減されます。

共有エージェントは、Kubernetesエージェントが適さない状況(限られたソフトウェアライセンスを扱う場合など)を含め、さまざまな目的に使用できます。Kubernetesベースのセットアップの場合、CloudBees CIはKubernetesのスケーリング機能を活用してポッドのビルドエージェントをスケジュールし、さらに動的で効率的なリソース割り当てを可能にします。


3. パイプラインエクスプローラーとパイプラインマップによる高度なワークフローの視覚化

JenkinsはCIパイプラインの視覚化のためのプラグインをいくつか提供していますが、パイプラインの進行状況を統一的かつ合理的に表示できないことがあります。パイプラインが複雑になり、デプロイが増えるにつれて、パフォーマンスの問題が発生し、管理とトラブルシューティングが困難になることがあります。たとえば、複数のマイクロサービスがあり、それぞれに独自のパイプラインがある大規模なプロジェクトの場合、デフォルトのJenkinsインターフェイスでは、すべての同時ビルドの概要を明確に表示することが難しく、ボトルネックの特定と解決が遅れる可能性があります。

CloudBees CIは、高度なパイプラインエクスプローラーとパイプラインマップ機能を使用してこれらの課題に対処します。これらのツールはCIパイプラインを可視化し、トラブルシューティングする方法を提供し、パフォーマンスとユーザーエクスペリエンスにフォーカスして設計されています。

パイプラインエクスプローラーは、パイプラインステージの階層ツリービューを提供し、ユーザーはステージごとにログをナビゲートおよびフィルタリングすることができます。この合理化されたアプローチにより、5MBの小さなログファイルでも500MBの巨大なログでも、特定のパイプライン部分の問題をピンポイントで簡単に特定することができます。ユーザーは、行番号、ログ出力のANSIカラー、ワードラップ、カスタムタイムスタンプの時間表記のオプションによって、ログの表示エクスペリエンスをカスタマイズすることができ、読みやすさと分析を向上させることができます。

パイプラインエクスプローラーを補完するパイプラインマップは、パイプライン全体を視覚的に表現します。全体の俯瞰図であるパイプラインマップは、異なるパイプライン間の関係と依存関係を視覚化するため、プロジェクトが相互に接続された大規模な組織にとって特に有用です。ユーザーは、全体像をすばやく把握し、あるパイプラインの変更が他のパイプラインにどのような影響を与えるかを理解することができます。

4. Configuration as CodeによるJenkinsセットアップの合理化

Jenkins Configuration as Code(JCasC)プラグインの導入により、CIサーバーのセットアップと保守のプロセスが改善されました。JCasCにより、ユーザーは人間が読める宣言型YAMLファイルを使用してJenkinsを構成できるようになりました。この改善により、構成のバージョン管理と再現が可能になり、Jenkinsの管理が大幅に簡素化されました。

CloudBees CIは、エンタープライズレベルのニーズに合わせてカスタマイズされたConfiguration as Code(CasC)を基盤として構築しています。CloudBees CIが構成管理を次のレベルに引き上げる仕組みは以下のとおりです。

  • 一元管理: CloudBees CasC構成バンドルは、CloudBeesのOperations Centerを通じて一元管理できます。この一元管理により、環境内のすべてのJenkinsコントローラー間で一貫性が促進され、すべてのインスタンスを同じ構成標準に準拠させることができます。
  • 簡素化されたスケーリング: CIのニーズが増大するにつれて、CloudBees CasCは水平スケーリングを容易にします。CasCバンドルに保存された定義済みの構成を使用して新しいJenkinsコントローラーを作成し、バンドルアップデートタイミングを使用してコントローラーが新しいバンドルに応答する方法を設定できます。これにより、キャパシティが拡大しても既存のリソースと一貫した構成が維持され、シームレスで効率的なスケーリングが可能となります。
  • より包括的な機能セット: CloudBees CasCは、プラグイン、フォルダー、ジョブ、権限、認証情報などの「コードとしての(as code)」制御を追加します。これにより、コントローラー構成を一元的に、安全かつ堅牢に管理できるレベルが向上します。
  • 構成のエクスポートとインポート: CloudBees CIを使用すると、実行中のインスタンスから構成をエクスポートし、CasCバンドルとしてインポートできます。この機能は、環境間で構成を移行したり、既存の設定に基づいて新しいインスタンスをセットアップしたりする場合に役立ちます。


5. アクティブ/アクティブ高可用性とディザスタリカバリ

CIパイプラインは、多くの場合、現代のソフトウェア開発プラクティスの中心となります。ダウンタイムや中断は、開発速度、リリーススケジュール、ビジネスオペレーションに重大な影響を与えます。CI環境の信頼性と回復力を維持するには、高可用性と堅牢なディザスタリカバリメカニズムを確保することが極めて重要です。

標準的なJenkinsセットアップでは、Jenkinsがデータをフラットファイル形式(XML)で管理するため、高可用性(HA) を実現するのは困難な場合があります。このアーキテクチャでは、一度に1つのアクティブなコントローラーノードしか許可されないため、直接的なHA構成が困難です。この制限により、アクティブ/パッシブセットアップや自動スケーリンググループの使用など、さまざまな回避策が講じられていますが、これらのソリューションには、ダウンタイムや管理オーバーヘッドの点でトレードオフが伴います。

たとえば、高可用性(アクティブ/パッシブ)では、1つのレプリカのみがコントローラーとして機能します。つまり、任意の時点で1つのインスタンス(アクティブなインスタンス)のみがJenkinsコントローラー機能を実行します。パッシブインスタンスは基本的にアイドル状態であり、必要に応じて介入するのを待機します。

フェイルオーバーが発生すると、それまでパッシブだったインスタンスがアクティブになり、すべてのJenkinsオペレーションを処理します。ただし、フェイルオーバーのプロセス中は、どちらのインスタンスも完全には動作しない期間があります。これにより、ユーザーは、非HAセットアップでJenkinsコントローラーをリブートする場合と同等のダウンタイムを経験する可能性があります。

CloudBees CIは、アクティブ/アクティブHAアーキテクチャによって高可用性を提供することで、標準的なJenkinsエクスペリエンスを向上させます。一度に1つのレプリカのみがアクティブになる従来のアクティブ/パッシブ設定とは異なり、CloudBees CIのアクティブ/アクティブアーキテクチャでは、すべてのコントローラーレプリカが同時にワークロードを共有できます。コントローラーに障害が発生すると、そのコントローラーで実行されているパイプライン ビルドは別のレプリカによって自動的に継続されます。また、コントローラーを再起動する必要がある場合は、レプリカが1つずつ置き換えられます。このシームレスなフェイルオーバーメカニズムにより、ダウンタイムがなくなり、ユーザーは中断のないサービスを体験できます。


6. ワークロードの需要に応える動的なスケーリング

ソフトウェア開発環境におけるワークロードは常に変動します。デプロイ活動の多い時期と少ない時期が交互に訪れるのはよくあることであり、こうした変動に適応する能力が重要です。たとえば、金融アプリでは、ピーク使用時にダウンタイムをゼロにするために、感謝祭やクリスマスなどの主要な休日にCIパイプラインのテストを拡大する必要がある場合があります。したがって、速度、セキュリティ、信頼性を損なうことなくCIパイプラインがさまざまなワークロードを処理できるようにするには、動的なスケーリングが不可欠です。

複数のJenkinsコントローラーを管理するには、プラグインの更新やセキュリティの設定など、かなりの管理オーバーヘッドが必要になります。さらに、ワークロードが変動したときにビルドエージェントの数を手動で計算するのは困難な場合があります。

CloudBees CIは動的なスケーリングを簡素化し、以下の機能によってJenkinsインスタンスが変化するワークロードの需要にシームレスに適応できるようにします。

  • 自動エージェントプロビジョニング: Operations Centerから、Jenkinsコントローラーを構成して、リアルタイムの需要に基づいてリソースを動的に拡張または削減します。リソースの供給とワークロードの要件を確実に一致させることができます。
  • 水平スケーリング: CloudBees CIは水平スケーリングをサポートしており、必要に応じてJenkinsコントローラーを追加または削除できます。これにより、キャパシティの過剰プロビジョニングを回避し、リソースの使用を最適化します。
  • Kubernetes 統合: Kubernetesベースのセットアップの場合、CloudBees CIはKubernetesのスケーリング機能を活用してビルドエージェントを管理します。CloudBees CIはポッドを使用してビルドエージェントを格納し、CI リソースの柔軟なスケーリングを可能にします。
  • 予測およびスケジュールベースのスケーリング: CloudBees CIは、過去のデータと傾向に基づいてワークロードの変化を予測する予測スケーリングを実装できます。たとえば、スケジュールベースのスケーリングを設定して、ピーク営業時間などの予測可能な負荷の変化に応じて、定義済みのスケーリングアクションを設定できます。

「CloudBees CIを使用すると、小規模なチームでも、数千人または数万人のプログラマーの開発作業をサポートする数百のJenkinsコントローラーを管理できます。」 – Bill Garrett氏。

CloudBees CIの動的なスケーリング機能を活用することで、組織はJenkins環境がさまざまなワークロードを効率的に処理できるようになります。


7. きめ細かなロール(役割)ベースのアクセス制御

データ侵害のコストが急騰している時代には、統合環境のセキュリティ保護が最も重要です。効果的なアクセス制御はゼロトラストアーキテクチャの基盤であり、チームやプロジェクトが拡大しても、検証されたユーザーだけが特定のJenkinsコントローラーにアクセスできるようにします。

単一のJenkinsインスタンスでロール(役割)ベースのアクセス制御(Role-Based Access Control : RBAC)を管理するのは比較的簡単です。ただし、インスタンスの数が増えると、複雑さも増します。Jenkinsはインスタンスごとにカスタマイズできるため、セキュリティ設定はコントローラーごとに個別に構成する必要があります。そのため、環境が拡大するにつれて管理が難しくなります。

CloudBees CIは、いくつかの重要な機能によってRBAC機能を強化します。

  1. きめ細かな権限設定: 管理者は、システム全体、フォルダーレベル、個々のジョブまたはパイプラインレベルで権限を設定できるため、正確できめ細かなアクセス制御が可能になります。
  2. ロール(役割)ベースの割り当て: ユーザーには職務に基づいてロール(役割)が割り当てられ、それぞれにカスタマイズ可能な事前定義された権限が付与されます。これにより、ユーザーは各自の責任に応じた適切なレベルのアクセス権を持つようになり、CI環境への偶発的または悪意のある変更のリスクが軽減されます。
  3. ポリシーの一元管理:RBACポリシーは、Operations Centerで一元管理できるため、すべてのJenkinsインスタンス間で一貫性が確保され、管理のオーバーヘッドが削減されます。

この包括的なアプローチはエンタープライズグレードのデプロイに適しており、組織の成長に合わせてCI環境のセキュリティが維持されます。

8. CloudBees Assurance Programによるプラグインの互換性とセキュリティの検証

Jenkinsはオープンソース ソフトウェア(OSS)であるため、ユーザーは1,900以上のコミュニティが提供するプラグインを利用することができます。これらのプラグインにより、Jenkinsはさまざまなツールやサービスと統合できるため、異なる開発環境で汎用的に使用できます。ただし、プラグインはJenkinsの最大の強みである一方で、適切に管理されなければ不安定性やセキュリティリスクの原因にもなりえます。Bill Garrett氏は、「プラグインはJenkinsの最大の強みであると同時に、アキレス腱でもある」と述べています。

この問題は、多数のプラグインを管理し、それらを更新し、互換性を確保することに伴う複雑さが原因で発生します。多くのプラグインはコミュニティによって提供されているため、その品質、ドキュメント、サポートには一貫性がありません。さらに、一部のプラグインは時間の経過とともに放棄され、ユーザーは古い機能に悩まされたり、Jenkinsインスタンスをアップグレードできなくなったりします。

CloudBees CIは、CloudBees Assurance Program(CAP)を通じてこの課題に対処します。CAPは、プラグインがエンタープライズグレードであることを確認するためのテストと検証を行う審査プロセスです。CAPはプラグインを3つの層に分類します。

  • 第1層(検証済み/プロプライエタリ): 第1層のプラグインは、広範なテストが実施され、重要なユースケースを満たすことが認定されています。
  • 第2層(互換性あり): 完全に検証されているわけではありませんが、第2層のプラグインは品質に定評があり、”検証済み”プラグインになる予定です。
  • 第3層(コミュニティによって管理され、不明): 第3層のプラグインは、CloudBeesによって検証されていないプラグインであり、慎重に使用する必要があります。

CloudBees CIで管理されるJenkinsインスタンスは、自動的にCAPに登録されます。管理者は、プラグインの自動アップグレードまたはダウングレードを有効にして、CloudBees Assurance Programへの準拠を維持できます。これにより、CI環境の全体的な安定性とセキュリティが強化され、チームはプラグイン関連の問題を心配することなく、高品質のソフトウェアを提供することに集中できます。

9. エンタープライズグレードのサービスレベルサポート

組織が成長し、Jenkinsインスタンスがより複雑になるにつれて、オープンソースコミュニティのサポートを超えた、Jenkins CI環境向けの高度なソリューションが必要になる場合があります。ここで、エンタープライズグレードのサービスレベルのサポートが重要になります。エンタープライズレベルのサポートは、高いパフォーマンスとセキュリティ標準を維持しながらJenkinsエクスペリエンスを拡張したい企業にとって不可欠です。

CloudBees CIは、エンタープライズグレードのサポート、保証されたレスポンス時間、プロアクティブな監視を提供し、CI環境でJenkinsを効率的かつ確実に管理できるようにします。専門家チームにアクセスすることで、独自のエンタープライズユースケースに合わせたアドバイスとソリューションを受け取ることができます。

TransUnionAutodeskなどの顧客は、CloudBees CIを使用してJenkinsインスタンスを管理することで大きなメリットを得ています。CloudBees CIでJenkinsインスタンスを管理することで、TransUnionは新しい機能をより速いペースで市場に投入できるようになりました。同社は、エンジニアのワークライフバランスを向上させつつ、1年間で3,500件を超えるプロジェクトをオンボードし、機能のデプロイを3.5倍に増加させました。

同様に、AutodeskはCloudBees CIを利用してJenkinsエクスペリエンスを改善しました。AutodeskはCloudBees CIを使用してCI/CDトランスフォーメーションを開始し、安全で自動化されたJenkinsパイプラインを確立して、よりスムーズで効率的な開発プロセスを実現しました。

JenkinsからCloudBees CIへの移行

Jenkinsのメリットを享受しつつ、成長する企業のニーズに合わせてカスタマイズしたい企業にとって、CloudBees CIは最適な選択肢です。

「CloudBees CIの利点は、プロセス自動化で最も広く使用されているオープンソースツールであるJenkinsをベースとしていることです。ワークフローを変更する必要がないため、オープンソースのJenkinsからCloudBees CIへの移行が簡素化されます」とBill Garrett氏は述べています。

CloudBees CIへの移行をスムーズに成功させるために必要な手順は次のとおりです。

  • Jenkinsデータのバックアップ: ジョブ構成、パイプラインスクリプト、プラグインなどのJenkinsデータのバックアップを作成します。バックアップを作成することで、移行プロセスで問題が発生した場合でも、いつでも元の設定に戻すことができます。
  • テスト環境での移行の実行: 実稼働インスタンスをライブ環境に移行する前に、移行手順をテスト環境で実行して、計画どおりに移行が進むことを確認する必要があります。
  • 評価と計画: 移行するJenkinsインスタンスが、サポートされているJava開発キット(JDK)を使用していることを確認します。さらに、移行に必要なプラグインやその他の依存関係が利用可能であることを確認します。
  • プラグインの構成: 構成に必要なプラグインをインストールします。使用するプラグインの中には、削除、アップグレード、ダウングレードが必要なものもあります。CloudBeesでは、CloudBees Assurance Programのプラグインバージョンを使用することを推奨します。
  • Jenkins Health Advisor(CloudBees提供)のインストール: 移行の前に、JenkinsにJenkins Health Advisorをインストールします。最初のレポート通知を確認して、既存の問題を特定します。
  • Jenkinsデータの移行: 問題がないことをJenkins Health Advisorが確認したら、Jenkins OSSからジョブを転送し、CloudBees CIにインポートします。次に、必要なすべての認証情報をCloudBees CIに移行します。
  • テストと検証: サンプルジョブを実行して正しく動作することを確認し、システムがリソースを最適かつ効率的に使用していることを監視します。セキュリティ設定を検証して、期待どおりに機能していることを確認します。
  • CloudBees CIへの切り替え: Jenkins OSSとCloudBees CI間の最終的なデータ同期中の中断を減らすために、最終的な移行に一定の時間を取ることを計画します。その後、新しいCloudBees CIインスタンスを表示するようにDNS(Domain Name Server)を更新し、CloudBees CIに切り替えます。切り替えが完了すると、すぐに新しい環境が監視されます。

組織に適したCIソリューションの選択

継続的インテグレーションのニーズを評価する際に重要な質問は、「現在のJenkins設定は組織の要求を満たしているか?」です。Jenkinsは最も強力で柔軟なCIツールの1つですが、組織の規模が拡大し、ソフトウェア統合の要求がより複雑になるにつれて、さらに追加機能が必要になる場合があります。

Jenkinsの一元管理、高度なRBACセキュリティ、専用サポート、動的に拡張可能なインフラストラクチャを組織が必要とする場合、CloudBees CIはJenkinsの強みに基づいて構築された包括的なソリューションを提供します。

CloudBees CIを活用することで、Jenkinsの柔軟性を維持しながら、エンタープライズレベルの継続的インテグレーションに必要な追加機能とサポートを利用できます。これらのメリットを直接体験するには、当社にご相談ください。CloudBees CIがどのように開発ワークフローを最適化し、ソフトウェア開発プロセスを加速させることができるのか、当社のエキスパートがご説明します。

(この記事は、CloudBees社 Blog「CloudBees CI: Enhancing Jenkins for Business Mission-Critical Environments」 2024年11月25日の翻訳です。)