Avertissement
Garden 0.12.x EOL : Garden Acorn ( 0.12.x
) recevra des mises à jour de sécurité jusqu'au 30 juin 2024. Après cela, il sera obsolète et nous arrêterons le support. Voir annonce.
Si vous aimez Garden, veuillez ★ mettre en vedette ce référentiel pour montrer votre soutien. Vous cherchez du soutien ? Rejoignez notre Discord.
Démarrage rapide • Site Web • Documents • Exemples • Blog • Discord
Garden est un outil d'automatisation DevOps permettant de développer et de tester plus rapidement des applications Kubernetes.
Faites tourner des environnements de type production pour le développement, les tests et l'IC à la demande
Utilisez la même configuration et les mêmes flux de travail pour chaque étape de la livraison du logiciel
Accélérez les builds et les tests grâce à la mise en cache intelligente.
Le moyen le plus rapide de démarrer avec Garden est de suivre notre guide de démarrage rapide.
Pour une introduction complète à Garden et une documentation complète, visitez nos documents.
Garden est configuré via les fichiers garden.yml
. Pour les grands projets, vous pouvez diviser les fichiers et les colocaliser avec les parties pertinentes de votre pile, même sur plusieurs référentiels.
Une configuration Garden (simplifiée) pour une application Web ressemble à ceci :
kind : nom de déploiement : dbtype : helmspec : chart:name : postgresrepo : https://charts.bitnami.com/bitnami---kind : nom de build : apitype : conteneursource : chemin : ./api---kind : nom de déploiement : apitype : kubernetesdependencies : [build.api, déployer.postgres]spec : fichiers : [./manifests/api/**/*]---kind : Nom du test : type d'intégrité : conteneurdépendances : [deploy.api]spec : args : [npm, exécuter, tester:integ]
Vous pouvez créer et déployer ce projet avec :
déploiement de jardin
...et testez-le avec :
essai de jardin
Pour créer un environnement d'aperçu sur chaque demande d'extraction, vous devez ajouter les éléments suivants à votre pipeline CI :
jardin déployer --env aperçu
Garden dispose également d'un mode spécial appelé « mode de synchronisation » qui recharge en direct les modifications apportées à vos services en cours d'exécution, garantissant ainsi un retour ultra-rapide lors du développement . Pour l'activer, exécutez :
déploiement de jardin --sync
Vous pouvez également démarrer une console de développement interactive (voir capture d'écran ci-dessus) à partir de laquelle vous pouvez créer, déployer et tester votre projet avec :
développement de jardin
Le Stack Graph est une fonctionnalité clé de Garden qui permet un développement, des tests et une automatisation DevOps efficaces. Le Stack Graph vous permet de déclarer la structure de dépendances de votre projet et de suivre les modifications pour éviter les builds, déploiements et exécutions de tests inutiles. C'est comme la configuration CI/CD que vous pouvez également utiliser pour le développement. Sans le Stack Graph, bon nombre de ces fonctionnalités qui distinguent Garden de ses concurrents ne seraient pas possibles ou seraient bien moins efficaces.
Constructions et déploiements efficaces : le Stack Graph permet à Garden de déterminer quelles parties de votre projet ont changé et doivent être reconstruites ou redéployées, évitant ainsi les travaux inutiles et accélérant le processus de développement.
Tests automatisés : Garden peut exécuter automatiquement des tests pour les parties de votre projet qui ont changé, grâce au Stack Graph. Cela permet de gagner du temps car toutes les parties de votre graphique de dépendances sont connues et mises en cache.
Automatisation DevOps : le Stack Graph permet à Garden d'automatiser de nombreux aspects du processus DevOps, notamment la création, les tests et le déploiement de votre projet.
Pour plus d'informations sur le Stack Graph et le fonctionnement de Garden, consultez :
Comment fonctionne le jardin
Une visite vidéo du Stack Graph et un guide pour démarrer
Garden est pluggable : la façon dont les actions sont exécutées dépend des plugins utilisés. Notre plugin Kubernetes est actuellement le plus populaire, suivi de nos plugins Terraform et Pulumi. Pour une introduction plus approfondie à Garden et à ses plugins, visitez notre documentation :
Plugin Kubernetes
Plugin Terraform
Plugin Pulumi
Rejoignez notre communauté Discord pour poser des questions, donner votre avis ou simplement dire bonjour ?
Le jardin accepte les contributions ! Veuillez consulter notre guide de contribution pour plus d’informations.
Garden est sous licence Mozilla Public License 2.0 (MPL-2.0).