Passer au contenu principal

Premiers pas

Prérequis : Devin doit avoir accès à vos dépôts avant que vous puissiez configurer son environnement. Si vous n’avez pas encore configuré votre intégration Git, consultez Avant de commencer pour suivre les étapes de configuration. Les utilisateurs Enterprise doivent également accorder à chaque org l’accès à ses dépôts dans Enterprise Settings > Repository Permissions.
Vous utilisez encore la configuration classique ? Vous pouvez migrer vers la configuration déclarative à tout moment. Devin peut prendre en charge l’essentiel de la migration pour vous. Consultez Migrer vers la configuration déclarative .
Idéal pour la plupart des utilisateurs. Devin analyse votre projet, identifie les outils et dépendances nécessaires, puis génère le blueprint pour vous. Il ne vous reste plus qu’à le vérifier et l’approuver.
1

Démarrer une session Devin

Ouvrez une nouvelle session et demandez à Devin de configurer le dépôt. Par exemple : “Configure ton environnement pour ce repo.”
2

Vérifier et approuver

Devin propose un blueprint. Vous verrez des cartes de suggestion dans votre timeline. Vérifiez-les, puis cliquez sur Approve.
3

Vérifier

Une fois le build terminé, démarrez une nouvelle session. Devin démarre à partir du nouveau snapshot avec tout préconfiguré. Essayez de demander à Devin d’exécuter vos commandes de lint ou de test pour confirmer que tout fonctionne.
La suite de ce guide détaille le parcours manuel. Elle est également utile pour comprendre ce que Devin a généré si vous avez utilisé le parcours recommandé.

Comment ça marche

La configuration déclarative repose sur trois concepts :
ConceptCe que c’estAnalogie
BlueprintUne configuration YAML qui décrit ce qu’il faut installer et comment configurer l’environnement de DevinDockerfile
BuildLe processus qui exécute votre blueprint, clone les repos et produit un snapshotdocker build
SnapshotUne image figée et amorçable de l’environnement à partir de laquelle les sessions démarrentDocker image
Les blueprints décrivent ce que vous voulez. Vous les rédigez et les modifiez dans l’interface Settings. Les builds exécutent vos blueprints pour produire des snapshots. Les builds se lancent automatiquement lorsque vous enregistrez un blueprint, puis périodiquement (~toutes les 24 heures) afin de maintenir les dépendances à jour. Les snapshots sont la base à partir de laquelle les sessions démarrent. Chaque organisation dispose d’un snapshot actif. Chaque session démarre à partir d’une copie neuve. Les modifications apportées pendant une session ne sont pas répercutées dans le snapshot.

Sections du blueprint

Un blueprint comporte trois sections :
SectionObjectifQuand elle s’exécute
initializeInstaller les outils, les environnements d’exécution, les packages systèmePendant les builds uniquement. Les résultats sont enregistrés dans le snapshot.
maintenanceInstaller/mettre à jour les dépendances du projet, écrire les configurations d’authentificationPendant les builds + au début de chaque session
knowledgeInformations de référence pour Devin (commandes de lint, test et build)Non exécutée. Chargée dans le contexte de Devin au démarrage de la session.
initialize sert à ce qui ne doit se produire qu’une seule fois : environnements d’exécution, packages système, outils CLI globaux. maintenance sert à l’installation des dépendances qui doivent rester à jour. Elle s’exécute pendant les builds, puis de nouveau au démarrage de la session après récupération du code le plus récent. Les commandes doivent donc être rapides et incrémentales (utilisez npm install, pas npm ci). knowledge contient des informations de référence et n’est pas exécutée. C’est ainsi que vous indiquez à Devin les bonnes commandes de lint, de test et de build. Gardez des entrées légères et axées sur des commandes exécutables.
Knowledge ici vs la fonctionnalité produit Knowledge : La section knowledge de votre blueprint sert à de courtes références de commandes liées à l’environnement. Pour la documentation d’architecture, les conventions et les workflows d’équipe, utilisez plutôt la fonctionnalité autonome Knowledge.
Pour la spécification complète des champs (types d’étapes, prise en charge de GitHub Actions, variables d’environnement, secrets et fichiers joints), consultez la référence Blueprint.

Périmètre des blueprints

Vous pouvez définir des blueprints à deux niveaux :
NiveauOù configurerQue mettre ici
OrganisationSettings > Environment configuration > Configuration à l’échelle de l’organisationOutils partagés par tous les dépôts : environnements d’exécution, gestionnaires de paquets, authentification Docker
DépôtSettings > Environment configuration > [nom du dépôt]Configuration spécifique au projet : npm install, commandes de lint/test/build
Les blueprints sont additifs : les blueprints de dépôt s’appuient sur le blueprint de l’organisation. L’étape maintenance d’un dépôt peut utiliser des outils installés par l’étape initialize de l’organisation. Si un seul dépôt a besoin d’un outil, placez-le dans le blueprint de ce dépôt. Si tous les dépôts en ont besoin, placez-le dans le blueprint de l’organisation.
Utilisateurs Enterprise : Il existe un troisième niveau, le blueprint Enterprise, qui s’applique à toutes les organisations. Consultez la vue d’ensemble de l’environnement Enterprise pour plus de détails.

Builds et sessions

Le snapshot

Votre organisation dispose d’un snapshot actif : une image de machine virtuelle avec vos outils, dépôts et dépendances préinstallés. Tous les dépôts configurés sont clonés et configurés dans cette image unique. Chaque session démarre à partir d’une nouvelle copie.

Comment fonctionnent les builds

Un build crée un nouveau snapshot en exécutant vos blueprints dans l’ordre :
1. Blueprint Enterprise, si configuré (s'exécute dans ~) :
   a. initialize
   b. maintenance
2. Blueprint org (s'exécute dans ~) :
   a. initialize
   b. maintenance
3. Cloner tous les dépôts (jusqu'à 10 en simultané)
4. Pour chaque repo configuré, dans l'ordre affiché dans Settings
   (s'exécute dans ~/repos/<repo-name>) :
   a. initialize
   b. maintenance
5. Vérification de l'état, puis le snapshot est enregistré
Les couches sont cumulatives : les commandes propres au dépôt peuvent utiliser des outils installés par l’organisation ou le blueprint Enterprise. Les niveaux inférieurs ne peuvent pas écraser ce qu’un niveau supérieur a configuré. Les builds prennent généralement 5 à 15 minutes. Chaque étape expire au bout d’1 heure.

Fonctionnement des sessions

Chaque session démarre avec une nouvelle copie du snapshot. Lorsque la session se termine, toutes les modifications sont abandonnées. Au démarrage de la session :
  1. Les exécutions maintenance d’Enterprise et à l’échelle de l’organisation s’exécutent (dans ~).
  2. La version la plus récente du code est récupérée pour le ou les repos concernés.
  3. La tâche maintenance de ce repo s’exécute à nouveau pour prendre en compte les modifications de dépendances depuis le dernier build.
  4. Les entrées Knowledge de ce repo sont chargées dans le contexte de Devin.
Knowledge est spécifique à chaque repo. Si vous avez 5 repos configurés, Devin ne voit que les entrées Knowledge de celui sur lequel il travaille.

Ce qui déclenche un build

DéclencheurDescription
Enregistrement d’un blueprintCréation, mise à jour ou suppression d’un blueprint
Ajout ou suppression d’un dépôtToute modification de la liste des dépôts
Ajout d’un secret de dépôtLes nouveaux secrets nécessitent un rebuild pour être disponibles
Déclenchement manuelClic sur Build ou Rebuild dans l’interface
Actualisation périodiqueAutomatique, environ toutes les 24 heures
Suggestion de DevinDevin propose une modification du blueprint pendant une session
Un seul build peut s’exécuter à la fois. Tout nouveau déclencheur annule tout build en file d’attente et relance le processus à zéro.

États des builds

StatusMeaning
SuccessToutes les étapes sont terminées. Le snapshot est prêt.
PartialCertaines étapes au niveau du repo ont échoué, mais le snapshot reste utilisable. Les repos qui ont réussi fonctionnent normalement ; les repos en échec nécessitent de corriger leurs blueprints.
FailedÉchec critique (la configuration de l’organisation ou de l’environnement Enterprise a échoué). Le snapshot n’est pas utilisable.
CancelledRemplacé par un build plus récent ou annulé manuellement.
Un build partial produit quand même un snapshot exploitable. Si l’un des cinq repos a un blueprint défectueux, les quatre autres sont entièrement fonctionnels.
Le build échoue ? Consultez Résolution des problèmes de build pour obtenir un guide de débogage pas à pas.

Gérer votre environnement

États des dépôts

Les dépôts apparaissent sous trois états dans les paramètres d’Environment :
ÉtatSignification
ConfiguredDispose d’un blueprint avec initialize/maintenance/knowledge. Entièrement configuré dans le snapshot.
IncludedCloné dans le snapshot, mais sans blueprint personnalisé. Devin peut accéder au code.
AvailableConnecté à l’organisation, mais non ajouté à l’environnement. Non cloné.
Included vs. configured : Un dépôt « included » est cloné pour que Devin puisse accéder au code, mais il n’a pas de commandes de configuration personnalisées. Un dépôt « configured » comporte des instructions explicites pour initialize/maintenance/knowledge.

Secrets

Faites référence aux secrets avec la syntaxe $VARIABLE_NAME. Ajoutez-les dans Settings > Secrets.
maintenance:
  - name: Configure private registry
    run: npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
Les secrets sont disponibles sous forme de variables d’environnement lors des builds et des sessions. Ils sont supprimés avant que le snapshot ne soit enregistré, mais si une commande écrit la valeur d’un secret dans un fichier de configuration pendant initialize, cette valeur persiste dans le snapshot. Écrivez toujours les identifiants dans maintenance. Pour en savoir plus sur les périmètres des secrets et leur comportement, consultez la référence Blueprint.

Plusieurs dépôts

Chaque dépôt dispose de son propre blueprint. Lors d’un build, tous les dépôts sont configurés dans le même snapshot, puis clonés dans des répertoires distincts, avec des dépendances installées indépendamment. Si deux dépôts installent des versions différentes d’un outil global ou modifient des fichiers partagés (comme ~/.bashrc), c’est le dernier à s’exécuter qui l’emporte. Installez les outils partagés dans le blueprint à l’échelle de l’organisation afin d’éviter les conflits.

Monorepos

Pour un monorepo, rédigez un blueprint unique couvrant tous les sous-projets. Utilisez des subshells pour exécuter des commandes dans des sous-répertoires :
maintenance:
  - name: Frontend deps
    run: (cd packages/frontend && pnpm install)
  - name: Backend deps
    run: (cd packages/backend && uv sync)
Les parenthèses (cd ... && ...) s’exécutent dans un sous-shell, ce qui réinitialise le répertoire de travail pour l’étape suivante.

Épinglage et mises à jour automatiques

Par défaut, Devin utilise le snapshot du dernier build réussi. L’épinglage permet de verrouiller le snapshot d’un build spécifique. C’est utile lorsqu’un nouveau build introduit une régression, ou lorsque vous souhaitez figer l’environnement pour un lot de sessions. Pour épingler : accédez à l’historique des builds de snapshot, recherchez le build (il doit être success ou partial et dater de moins de 7 jours), puis cliquez sur Épingler. Une fois épinglé, les actualisations périodiques sont suspendues et l’interface affiche Mises à jour automatiques en pause. Pour retirer l’épinglage : cliquez sur Reprendre les mises à jour automatiques. Devin bascule vers le dernier build réussi.

Blueprints basés sur Git

Les blueprints basés sur Git ne sont pas encore pris en charge. Cette fonctionnalité sera bientôt disponible. Vous pourrez stocker des blueprints dans votre dépôt et déclencher automatiquement des builds lorsqu’ils sont modifiés. Pour l’instant, configurez les blueprints depuis l’interface utilisateur.

Résolution des problèmes de build

Échec de l’étape d’initialisation

Causes fréquentes : faute de frappe dans une commande shell, package indisponible, délai d’attente réseau dépassé, référence GitHub Action incorrecte. Correctif : consultez les logs de build pour connaître l’erreur exacte. Mettez à jour initialize dans votre blueprint et enregistrez. Un nouveau build est automatiquement activé.

Échec du clonage du repo

Causes fréquentes : Devin n’a pas accès au repo, le repo a été renommé/déplacé/supprimé, ou il s’agit d’un problème réseau temporaire. Correctif : Vérifiez l’accès au repo dans les paramètres de votre service Git. Supprimez le repo, puis ajoutez-le à nouveau s’il a été renommé.

L’étape de maintenance a échoué

Causes courantes : conflit de dépendances, bibliothèque système manquante, espace disque insuffisant, fichier de verrouillage non synchronisé. Correctif : vérifiez les logs du package ou de la commande qui échoue. Mettez à jour maintenance ou initialize pour installer les dépendances manquantes, ou corrigez le fichier de verrouillage dans votre dépôt.

Expiration du build

Chaque étape a un délai d’expiration d’une heure. Causes fréquentes : compilation de dépendances natives volumineuses à partir du code source (utilisez des binaires précompilés), téléchargement d’artefacts volumineux, commandes qui se bloquent en attendant une saisie (toutes les commandes doivent être non interactives).

Itérer sur les correctifs

  1. Consultez les logs de build pour identifier la cause de l’échec
  2. Mettez à jour le blueprint concerné
  3. Enregistrez (un nouveau build s’active automatiquement)
  4. Surveillez les logs du nouveau build
  5. Répétez jusqu’à ce que le build se termine avec succès
Vous n’avez pas besoin d’attendre la fin d’un build en échec. L’enregistrement d’une nouvelle configuration annule tout build en file d’attente et relance un build à partir de zéro.

Prochaines étapes

référence Blueprint

Référence complète des champs : types d’étapes, GitHub Actions, variables d’environnement, secrets, fichiers joints.

Bibliothèque de modèles

Blueprints prêts à copier-coller pour Python, Node.js, Go, Java, Ruby, Rust et cas d’usage avancés.

Migration depuis la configuration classique

Guide étape par étape pour passer de l’assistant interactif aux blueprints déclaratifs.

Gestion des environnements Enterprise

Gestion des environnements à l’échelle de l’entreprise : hiérarchie à 3 niveaux, secrets et configuration entre organisations.