警告
Garden 0.12.x EOL: Garden Acorn ( 0.12.x
) は、2024 年 6 月 30 日までセキュリティ更新プログラムを受け取ります。それ以降は非推奨となり、サポートが停止されます。お知らせを参照してください。
Garden が好きなら、このリポジトリにスターを付けてサポートを示してください。サポートをお探しですか? Discord に参加してください。
クイックスタート • ウェブサイト • ドキュメント • 例 • ブログ • Discord
Garden は、Kubernetes アプリをより迅速に開発およびテストするための DevOps 自動化ツールです。
開発、テスト、CI をオンデマンドで実行できる実稼働環境に似た環境をスピンアップする
ソフトウェア配信のあらゆる段階で同じ構成とワークフローを使用する
スマート キャッシュによりビルドとテストの実行を高速化します。
Garden を始める最も早い方法は、クイックスタート ガイドに従うことです。
Garden の完全な紹介と包括的なドキュメントについては、ドキュメントを参照してください。
Garden はgarden.yml
ファイルを介して設定されます。大規模なプロジェクトの場合は、複数のリポジトリにまたがる場合でも、ファイルを分割してスタックの関連部分と同じ場所に配置できます。
Web アプリの (簡略化された) Garden 構成は次のようになります。
種類: デプロイ名: dbtype: helmspec: chart:name: postgresrepo: https://charts.bitnami.com/bitnami---kind: ビルド名: apitype: コンテナソース: パス: ./api---kind: デプロイ名: apitype: kubernetesdependency: [build.api、deploy.postgres]spec: files: [./manifests/api/**/*]---kind: テスト名: integtype: コンテナー依存関係: [deploy.api]spec: args: [npm,実行、テスト:整数]
このプロジェクトは次のようにビルドしてデプロイできます。
庭の展開
...そして次のようにテストします。
庭のテスト
すべてのプル リクエストでプレビュー環境を作成するには、以下を CI パイプラインに追加します。
garden デプロイ --env プレビュー
Garden には、実行中のサービスへの変更をライブ リロードする「同期モード」と呼ばれる特別なモードもあり、開発中の非常に高速なフィードバックを保証します。有効にするには、次を実行します。
ガーデンデプロイ --sync
インタラクティブな開発コンソール (上記のスクリーンキャップを参照) を起動して、以下を使用してプロジェクトをビルド、デプロイ、テストすることもできます。
庭園開発者
スタック グラフは、効率的な開発、テスト、DevOps 自動化を可能にする Garden の重要な機能です。スタック グラフを使用すると、プロジェクトの依存関係構造を宣言し、変更を追跡して、不必要なビルド、デプロイ、テストの実行を回避できます。これは、開発に追加で使用できる CI/CD 構成のようなものです。 Stack Graph がなければ、Garden を競合他社と区別するこれらの機能の多くは実現できなかったり、効率が大幅に低下したりするでしょう。
効率的なビルドとデプロイ:スタック グラフを使用すると、Garden はプロジェクトのどの部分が変更され、再ビルドまたは再デプロイが必要かを判断できるため、不必要な作業が回避され、開発プロセスが高速化されます。
自動テスト: Garden は、Stack Graph のおかげで、プロジェクトの変更された部分のテストを自動的に実行できます。これにより、依存関係グラフのすべての部分が認識され、キャッシュされるため、時間を節約できます。
DevOps の自動化: Stack Graph を使用すると、Garden はプロジェクトの構築、テスト、デプロイなど、DevOps プロセスの多くの側面を自動化できます。
スタック グラフと Garden の仕組みの詳細については、以下を参照してください。
庭の仕組み
Stack Graph のビデオ ツアーと開始ガイド
Garden はプラグイン可能です。アクションがどのように実行されるかは、使用されるプラグインによって異なります。現在、Kubernetes プラグインが最も人気があり、次に Terraform プラグインと Pulumi プラグインが続きます。 Garden とそのプラグインの詳細については、次のドキュメントを参照してください。
Kubernetes プラグイン
Terraform プラグイン
プルミプラグイン
Discord コミュニティに参加して、質問したり、フィードバックを送ったり、単に挨拶をしたりすることもできます。
ガーデンでは寄付を受け付けています!詳細については、貢献ガイドをご覧ください。
Garden は、Mozilla Public License 2.0 (MPL-2.0) に従ってライセンスされています。