Skip to main content

Qu’est-ce que l’environnement de Devin ?

L’environnement de Devin est l’espace de travail dans lequel Devin fonctionne : une machine virtuelle basée sur Linux, avec vos dépôts clonés, les outils installés, les dépendances résolues, les variables d’environnement définies et la configuration appliquée. C’est l’équivalent du laptop d’un développeur : le système d’exploitation, le terminal, la chaîne d’outils installée, les dépôts clonés, ainsi que les identifiants et paramètres dont ces outils ont besoin. La configuration de votre environnement est enregistrée sous forme de snapshot : une image figée et amorçable à partir de laquelle chaque session démarre. Configurez-la une seule fois, et chaque session démarrera dans cet état fiable de référence.

Pourquoi la configuration de l’environnement est importante

Devin fonctionne comme n’importe quel développeur : il clone des dépôts, installe les dépendances, exécute le linting, compile le code et lance les tests. Pour faire tout cela, il a besoin d’un environnement opérationnel. Sans cela, Devin ne peut pas effectuer le build de votre projet, exécuter vos tests ni vérifier son propre travail. Ce serait comme recruter un développeur sans lui fournir de laptop. La configuration de l’environnement donne à Devin les outils, environnement d’exécution, identifiants, variables d’environnement et connaissances du projet dont il a besoin pour être productif dès la première session. Elle accélère aussi les sessions : votre snapshot contient déjà les dépôts clonés et les dépendances installées, donc Devin démarre directement sur un travail utile au lieu de tout reconfigurer à partir de zéro à chaque fois. C’est de loin le levier le plus efficace pour améliorer l’efficacité de Devin sur votre codebase.

Comment fonctionnent les sessions

Chaque session démarre à partir d’un snapshot, une image figée et amorçable de l’environnement.
  1. Snapshot: Une image préconstruite contenant vos dépôts, outils et dépendances. Préparée à l’avance via la configuration.
  2. Session: Devin démarre une nouvelle copie du snapshot. Chaque session part du même état propre. Les modifications apportées pendant la session ne sont pas répercutées dans le snapshot.
Lorsque votre configuration change, un nouveau snapshot est automatiquement généré. Chaque organisation dispose d’un seul snapshot actif. Chaque session de cette organisation démarre à partir du même snapshot.

Avant de commencer

Avant de configurer l’environnement de Devin, assurez-vous que Devin peut accéder à vos dépôts :
  1. Connectez votre fournisseur SCM. Accédez à Settings > Connections et connectez GitHub, GitLab, Bitbucket ou Azure DevOps. Sélectionnez les dépôts auxquels Devin peut accéder lors de la configuration. Consultez les guides d’intégration pour obtenir des instructions détaillées.
C’est tout. Une fois la connexion établie, vous pouvez passer à la configuration de l’environnement.
  1. Connectez votre fournisseur SCM (administrateur). Accédez à Enterprise Settings > Integrations et connectez votre fournisseur SCM. Consultez Git Integrations pour les instructions de configuration.
  2. Accordez à chaque organisation l’accès à ses dépôts (administrateur). Accédez à Enterprise Settings > Repository Permissions et attribuez des dépôts à chaque organisation. Les organisations ne peuvent ni voir ni utiliser les dépôts tant que vous ne leur avez pas explicitement accordé l’accès. Consultez Repository Permissions.
  3. Configurez l’environnement (administrateur d’organisation). Une fois qu’une organisation a accès à ses dépôts, passez à la configuration de l’environnement ci-dessous.
Si vous passez ces étapes, les dépôts n’apparaîtront pas lorsque vous tenterez de les ajouter à votre environnement. Devin a besoin d’un accès aux dépôts via votre intégration Git avant de pouvoir les cloner et lancer le build.

Configurez-le en le demandant à Devin

C’est le moyen le plus simple de configurer l’environnement de Devin, et il convient à la plupart des dépôts.
Démarrez une session Devin et demandez-lui : “Configure ton environnement pour ce dépôt.”
1

Devin explore votre dépôt

Devin analyse votre codebase et détermine les outils, environnements d’exécution et dépendances dont il a besoin.
2

Examinez les suggestions

Devin propose un blueprint sous forme de cartes de suggestion dans la chronologie. Examinez la configuration proposée et approuvez les cartes que vous souhaitez utiliser.
3

Un build crée le snapshot

Devin exécute un build à partir du blueprint approuvé et génère le snapshot à partir duquel chaque session démarre.
Pour la procédure complète, consultez Laissez Devin s’en charger.

Variables d’environnement et secrets

Les variables d’environnement font partie de votre blueprint. Définissez les valeurs non sensibles dans le champ env d’une étape ou ajoutez les valeurs partagées à $ENVRC ; consultez les modèles d’environnement pour les modèles $ENVRC et direnv. Devin peut déduire les outils et dépendances de votre dépôt, mais il ne peut pas découvrir vos identifiants. Stockez les valeurs sensibles en tant que Secrets chiffrés dans l’onglet Secrets de l’éditeur de blueprint, puis référencez-les sous la forme $VARIABLE_NAME. Les secrets sont injectés en tant que variables d’environnement lors des builds et des sessions ; consultez le guide des secrets des blueprints et la référence des variables d’environnement et des secrets.

Choisissez votre approche

Demander à Devin est l’option par défaut. Si vous souhaitez rédiger vous-même la configuration, utilisez la configuration déclarative, la voie manuelle recommandée. Les blueprints décrivent votre environnement, et les builds génèrent automatiquement des snapshots.

Configuration déclarative

Voie manuelle recommandée. Vérifiez ou modifiez le YAML généré par Devin afin de contrôler ce qui est installé, comment les dépendances sont configurées et ce que Devin doit savoir.
  • Versionnée
  • Mise à jour automatique
  • Combinable entre niveaux
  • Reproductible

Référence des blueprints

Spécification complète des champs des blueprints : sections, prise en charge de GitHub Actions, variables d’environnement et fichiers joints.

Bibliothèque de modèles

Blueprints à copier-coller pour Python, Node.js, Go, Java, Ruby, Rust et des schémas avancés.

Gestion des environnements

Gestion des environnements : hiérarchie à 3 niveaux, secrets et configuration entre organisations.