Comment accélérer le développement Drupal avec Lando
Publié: 2023-01-03De nos jours, de nombreuses options d'environnement de développement sont disponibles, telles que DDev et DockSal, mais nous recommandons généralement Lando pour une configuration Drupal pour plusieurs raisons.
Lando est facile à utiliser, portable et rapide. Et Lando peut exécuter n'importe quoi, n'importe où ! C'est l'outil Devops le plus accessible et il gagne en popularité depuis des années. Une façon simple de décrire Lando est que sa configuration automatisée de l'environnement permet un développement plus facile.
Dans cet article, nous parlerons de Lando, de sa configuration, de son architecture et de la manière dont vous pouvez utiliser les recettes Lando avec Drupal, ainsi que la configuration de Lando. Alors, commençons!
Qu'est-ce que Lando ?
Lando est un outil DevOps d'environnement de développement local gratuit et open source, basé sur Docker. Il est compatible avec les environnements locaux sous OSX, Windows et Linux. En utilisant Lando, vous pouvez préparer différents types de services et d'outils sans effort. De plus, Lando vous permet de définir différents services pour chaque projet sans affecter les autres projets travaillant sur Lando.
En tant que développeur, il devient très facile de configurer la configuration dans la base de code du service et des outils, ainsi que la configuration de l'application qui doit être exécutée. Une fois la configuration terminée, les développeurs peuvent entrer dans le référentiel pour exécuter Lando et commencer à travailler sur le projet dans un isolement complet sans perturber la cohérence de leurs environnements de développement.
Comment fonctionne Lando et pourquoi devriez-vous l'utiliser ? (Recettes Lando & Drupal)
Vous savez déjà ce qu'est Lando et sa compatibilité avec Drupal. Maintenant, comme certains d'entre vous connaissent peut-être Docker, vous vous demandez peut-être à quel point Lando et Docker sont similaires. La configuration d'installation de Lando est similaire à Docker compose et l'environnement de développement isolé est similaire à celui des conteneurs Docker.
Mais une telle similitude soulève la question : à quoi sert Lando lorsque Docker est installé ? Voici pourquoi:
- Lando vous permet d'utiliser un processus plus organisé d'utilisation des conteneurs Docker à l'aide de recettes prédéfinies.
- Lorsque l'environnement de conteneur Docker n'est pas compatible avec les recettes Lando, vous pouvez facilement définir un conteneur en définissant un service Lando. Vous pouvez le faire sans taper les commandes docker exec ni configurer Dockerfiles.
- Vous pouvez utiliser vos propres fichiers de composition Docker personnalisés au lieu des recettes Lando tout en bénéficiant du réseau de développement local.
- De plus, vous pouvez utiliser la gestion SSL par conteneur, configurer des URL proxy et personnalisées pour vos services et utiliser des étapes de construction et d'exécution simples.
Si vous avez besoin d'aide pour connaître la configuration système requise et l'installation de Lando pour Drupal 9, consultez notre blog ici.
Configuration des recettes Lando
Les recettes sont une combinaison de services, de proxys et d'outils conçus comme des valeurs par défaut de l'état de départ pour un cas d'utilisation particulier. Les recettes de Lando sont la plus haute abstraction de Lando, contenant des combinaisons communes de services, d'événements et d'outils.
Les services sont des conteneurs Docker simplifiés mais hautement configurables. Ils peuvent exécuter des étapes de construction telles que l'installation d'une extension PHP ou l'exécution de l'installation de fil. Les outils permettent aux utilisateurs d'exécuter des commandes arbitraires ou des combinaisons de commandes ou une combinaison de services lorsqu'ils sont invoqués. Ils sont incroyablement utiles tout en étant super simples à utiliser.
Config vous permet de définir des éléments plus importants fournis par votre recette. Avec Lando, vous pouvez configurer et apporter des modifications en fonction de vos besoins.
Pour une meilleure compréhension, examinons plus en détail les services et les outils Lando.
Lando Services
Les services Lando sont des conteneurs Docker simplifiés et hautement configurables. Ils doivent pouvoir exécuter des étapes de construction et peuvent être remplacés par des niveaux bas. Les services bénéficient de fonctions de mise en réseau et de sécurité automatiques.
Certains des services les plus utiles sont :
- Recherche élastique/Solr
- Mailhog
- Nœud
- PhpMyadmin
- Redis
- Cache mémoire
- Vernis
Services - Étapes de construction
Si vous avez besoin de dépendances supplémentaires sur le serveur comme des extensions PHP ou des modules de nœud, cela ressemble à une étape de construction.
Il y a quatre grandes étapes de construction :
- "Build" : s'exécute en tant que "vous" et avant le démarrage de votre service
- "Build_as_root" : s'exécute en tant que root et avant le démarrage de votre service
- "run" : s'exécute en tant que "vous" et après le démarrage de votre service
- "run_as_root" : s'exécute en tant que root et après le démarrage de votre service
Comment pouvez-vous exécuter les quatre étapes principales ?
- Utilisez build pour installer les dépendances d'application nécessaires avant de démarrer votre application
- Utilisez build_as_root pour installer les packages de serveur de bas niveau requis par votre application
- Utilisez run pour installer les dépendances de l'application ou exécutez les étapes de construction qui nécessitent que votre application soit démarrée en premier
- Utilisez run_as_root pour toute autre commande de configuration unique post-démarrage au niveau de la racine.
Événements
Les événements permettent à l'utilisateur d'exécuter une commande arbitraire avant ou après certaines parties du runtime Lando. En termes simples, vous pouvez automatiser des commandes ou des tâches que vous exécutez souvent ou toujours, avant ou après que quelque chose se passe. Les événements d'exécution Lando et App peuvent être liés à des événements avant ou après.
Vous pouvez également vous connecter aux pré et post-événements pour toutes les commandes d'outillage.
Ajout d'outils pour les applications Lando
Les outils vous permettent d'exécuter des commandes arbitraires sur des services arbitraires. Chaque recette Lando Drupal est livrée avec des utilitaires de développement utiles. Ce sont les commandes qui s'affichent sur la page d'aide de Lando, telles que
- Lando php
- Lando mysql
- Lando db-import
- Lando db-export
Ici, à l'aide d'outils, nous pouvons créer nos commandes personnalisées et définir ce que ces commandes feront en interne et sur quels conteneurs. Ceux-ci nous aident également à exposer certains services directement au développeur et à automatiser les processus.
Outillage - lando drupal-check
Chaque fois que nous exécutons cette commande, elle ira dans le service du serveur d'applications et exécutera la commande pour voir si le code est conforme à la norme Drupal. Sinon, il affichera les messages d'erreur appropriés.
Outillage - lando xdebug-on
Cette commande définira et activera xdebug-on sur le serveur d'applications pour le débogage.
Sources : https://docs.lando.dev/core/v3/
Dernières pensées
Une fois que vous avez configuré Lando pour votre site Web Drupal, vous pouvez créer des services et des recettes personnalisés, et utiliser des images Docker spécifiques pour vos services. Lando vous permet d'intégrer différentes configurations de serveur et CI/CD. De plus, vous pouvez également apprendre à automatiser les tests pour aller de l'avant avec vos recettes Lando dans Drupal.
Lando et Drupal se marient bien. Et si vous êtes déjà familiarisé avec Docker et docker compose, configurer Lando pour votre site Web Drupal et utiliser ses recettes, combiner les événements, les services et les outils serait très facile pour vous Ou, vous pouvez engager une agence de développement Drupal experte pour chercher dans l'ensemble du processus de configuration Lando et de développement de votre site Web Drupal.
Vous avez trouvé cet article utile ? Voici une toute petite URL de cet article que vous pouvez copier, intégrer ou partager :
bit.ly/3WyZNoB
Cliquez pour copier l'URL dans votre presse-papiers