翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Jenkins X
Jenkins X は、Kubernetes 環境に GitOps の原則を実装するクラウドネイティブのオープンソース CI/CD プラットフォームです。Jenkins X は Argo CD や Flux などの GitOps ツールのみではありませんが、GitOps プラクティスをワークフローに組み込みます。
GitOps のサポート
| [面積] | ツール機能 |
|---|---|
Git 中心のワークフロー |
Jenkins X は、アプリケーションコードと設定の両方の信頼できる主要なソースとして Git リポジトリを使用します。アプリケーションとインフラストラクチャに対するすべての変更は、Git を通じて行われます。 |
Environment as Code (EaC) |
環境 (ステージングや本番稼働など) は、Git リポジトリでコードとして定義されます。これにより、環境設定のバージョン管理とレビューが可能になります。 |
自動 CI/CD パイプライン |
Jenkins X は、プロジェクトの CI/CD パイプラインを自動的にセットアップします。これらのパイプラインはコード (パイプラインはコード) として定義され、Git に保存されます。 |
Kubernetes ネイティブ |
Jenkins X は Kubernetes 環境専用に構築されています。Kubernetes リソースとカスタムリソース定義 (CRDsを使用します。 |
プレビュー環境 |
Jenkins X は、プルリクエストの一時環境を自動的に作成します。これにより、マージ前に変更を簡単にレビューおよびテストできます。 |
環境間の昇格 |
Jenkins X は GitOps アプローチを使用して環境間でアプリケーションを昇格させます (ステージングから本番稼働など)。昇格は、プルリクエストを使用して適切なレビューと承認プロセスを確保することで処理されます。 |
Helm チャート管理 |
Jenkins X は Helm チャートを使用してアプリケーションをパッケージ化およびデプロイします。グラフは Git リポジトリでバージョン管理されています。 |
自動バージョニング |
Jenkins X は、アプリケーションとリリースのバージョニングを自動的に管理します。セマンティックバージョニングを使用し、リリースノートを生成します。 |
ChatOps 統合 |
Jenkins X は、一般的なオペレーションで ChatOps をサポートしています。これは、自動化とコラボレーションの GitOps 原則と一致しています。 |
拡張性 |
このツールは、機能を拡張するためのプラグインシステムを提供します。これにより、さまざまなクラウドネイティブツールとの統合が可能になります。 |
Infrastructure as code (IaC) |
Jenkins X は、インフラストラクチャを定義および管理するための Terraform CloudFormation、 AWS Cloud Development Kit (AWS CDK)、およびその他の IaC ツールをサポートしています。インフラストラクチャ定義は、アプリケーションコードとともにバージョン管理されます。 |
自動ロールバック |
Jenkins X は、デプロイ後に問題が検出された場合の自動ロールバックをサポートします。 |
シークレットの管理 |
このツールは外部シークレット管理ソリューションと統合され、機密情報を安全に処理します。 |
オブザーバビリティ |
Jenkins X は、オブザーバビリティのためのモニタリングおよびログ記録ツールとの統合を提供します。 |
マルチクラウドのサポート |
Jenkins X は、さまざまなクラウドプロバイダーやオンプレミス環境で動作するように設計されています。 |
チームコラボレーション |
このツールは、Git ベースのワークフローとプルリクエストによるコラボレーションを促進します。 |
継続的なフィードバック |
このツールは、自動テストおよびプレビュー環境を通じて、変更に関する迅速なフィードバックを提供します。 |
DevOps のベストプラクティス |
Jenkins X は、GitOps の原則を含む DevOps のベストプラクティスをデフォルトで実装します。 GitOps |
宣言型設定 |
このツールは、宣言型設定を使用してアプリケーションと環境を定義します。 |
自動アップグレード |
Jenkins X には、Jenkins X プラットフォーム自体のアップグレードを自動化するためのツールが用意されています。 |
Jenkins X は、これらの GitOps 原則を実装して、Kubernetes 用の包括的な CI/CD ソリューションを作成します。GitOps プラクティスに従いながら、コードコミットから本番デプロイまで、ソフトウェア配信プロセス全体を自動化および合理化することを目指しています。これにより、チームはクラウドネイティブ環境でより速く、より信頼性が高く、より一貫性のあるデプロイを実現できます。
Jenkins X と Argo CD や Flux などのツールの主な違いは、Jenkins X がデプロイと環境管理に GitOps の原則を組み込みながら、ビルドの自動化やパイプライン管理など、より包括的な CI/CD ソリューションを提供することです。これにより、1 つの GitOps フレームワーク内で CI と CD の両方の側面をカバーするall-in-oneソリューションを必要とするチームに特に適しています。
詳細については、Jenkins X のドキュメント
アーキテクチャ
次の図は、Jenkins X を使用する GitOps 駆動型 CD ワークフローを示しています。詳細については、Jenkins X のドキュメント
各パラメータの意味は次のとおりです。
-
ステップ 1: プルリクエスト (PR) マージ。開発者は、Git リポジトリに保存されている Kubernetes マニフェスト、Helm チャート、またはアプリケーションコードへの変更を含むプルリクエストを作成します。レビューと承認の後、PR はメインブランチにマージされ、ソースコントロールの目的の状態を更新します。
-
ステップ 2: リポジトリ同期。Jenkins X は、変更を検出すると CI/CD パイプラインを自動的にトリガーします。パイプラインは、GitOps の原則を使用して、さまざまな環境 (ステージングや本番稼働など) を通じてアプリケーションを構築、テスト、昇格します。
-
ステップ 3: ターゲット名前空間へのデプロイ。Jenkins X は、新しいアプリケーションバージョンで環境リポジトリ (ステージングと本番稼働) を更新します。クラスターは、Git から最新のマニフェストをプルし、アプリケーションを適切な名前空間にデプロイすることで、変更を自動的に調整します。