DevBox permet de déclarer la liste des outils nécessaires à un projet via un fichier devbox.json et exécutez devbox shell. Chaque personne travaillant sur le projet obtient un environnement shell avec exactement la même version de ces outils. Les environnements de développement créés sont isolés de tout le reste de votre ordinateur portable. Il peut créer des environnements isolés directement sur votre ordinateur portable, sans qu'une couche supplémentaire de virtualisation ne ralentisse votre système de fichiers ou chaque commande. Lorsque vous serez prêt à diffuser, il le transformera en un conteneur équivalent ; mais pas avant.
Dans le cas où l’utilisateur travaille sur plusieurs projets, qui ont tous besoin de différentes versions d'un même binaire, au lieu d'essayer d'installer des versions contradictoires du même binaire sur l’ordinateur portable, il est possible de créer un environnement isolé pour chaque projet et utiliser la version de son choix pour chacun d'eux.
Devbox analyse le code source et le transforme instantanément en une image conforme à la norme OCI qui peut être déployée sur n'importe quel cloud. Selon ses responsables, l'image est optimisée pour la vitesse, la taille, la sécurité et la mise en cache... et sans avoir besoin d'écrire un fichier Docker. Et contrairement aux buildpacks, il le ferait rapidement. Rappelons que la norme OCI est une norme qui permet l'échange d'enregistrements de données de catalogue pour rechercher et choisir un produit entre des systèmes de gestion.
Les applications ont souvent besoin du même ensemble de dépendances lorsqu’on développe sur notre ordinateur portable et lorsqu’on les conditionne sous forme de conteneur prêt à être déployé sur le cloud. Les environnements de développement de Devbox sont isomorphes : cela signifie que l’utilisateur peut les transformer à la fois en un environnement shell local ou en un conteneur prêt à être déployé dans le cloud.
Installation de Devbox
En plus d'installer Devbox lui-même, nix et docker doivent également être installé puisque Devbox en dépend :
- Installer le gestionnaire de paquets Nix.
- Installez Docker Engine ou Docker Desktop. (Docker n'est nécessaire que si l’utilisateur crée des conteneurs - la fonctionnalité shell fonctionne sans lui.)
- Installez Devbox :
curl -fsSL https://get.jetpack.io/devbox | bash
Shell rapide et déterministe
Création d’un shell de développement avec des outils spécifiques installés. Ces outils ne seront disponibles que lors de l'utilisation de ce shell Devbox, afin de ne pas encombrer la machine.
Ouvrez un terminal dans un nouveau dossier vide.
Initialiser Devbox :
devbox init
Ceci crée un fichier devbox.json dans le répertoire courant. Vous devez le commiter dans le contrôle de source.
Ajoutez des outils de ligne de commande à partir de Nix Packages. Par exemple, pour ajouter Python 3.10 :
devbox add python310
Votre fichier devbox.json garde la trace des paquets que vous avez ajoutés, il devrait maintenant ressembler à ceci :
Code JSON : | Sélectionner tout |
1 2 3 4 5 | { "paquets" : [ "python310" ] } |
Démarrez un nouveau shell dans lequel ces outils sont installés :
Devbox shell
Il est possible de savoir que vous êtes dans un shell Devbox (et non dans un terminal normal) car l'invite du shell et le répertoire ont changé. Dans cet exemple, nous avons installé Python 3.10.
Utilisation de Python 3.10
python --version
Vos outils habituels sont également disponibles, y compris les variables d'environnement et les paramètres de configuration.
git config --get utilisateur.nom
Pour quitter le shell Devbox et revenir à votre shell habituel :
exit
Image Docker instantanée
Devbox facilite le conditionnement de l’application dans une image de conteneur conforme à la norme OCI. Devbox analyse le code, identifie automatiquement la chaîne d'outils nécessaires au projet et la construit dans une image Docker. Il est recommandé
- d’initialiser le projet avec devbox init pour construire l’image ;
- de construire l'image : devbox build. L'image résultante est nommée devbox ;
- marquez l'image avec un nom plus descriptif : docker tag devbox my-image:v0.1
Devbox détecte actuellement les langages Go et Python.
Source : DevBox
Et vous ?
Quel est votre avis sur le sujet ?
Au regard de la multiplicité des outils de développement, trouvez-vous nécessaire un outil comme DevBox ?
Voir aussi :
Vite, l'outil pour développeurs web, est à sa version 3. Il vise à fournir une expérience de développement plus rapide et plus légère pour les projets web modernes
Fresh, un framework web de nouvelle génération, conçu pour la vitesse, la fiabilité et la simplicité, il apporte un peu de concurrence pour Next.js