Scratch Org Definition
Le fichier JSON qui précise l'édition, les fonctionnalités et les paramètres avec lesquels un nouveau scratch org doit être créé.
Définition
Une scratch org definition est le fichier JSON, conventionnellement config/project-scratch-def.json, passé à sf org create scratch --definition-file, qui déclare explicitement à quoi doit ressembler un nouveau scratch org : édition (Developer, Enterprise), fonctionnalités activées (Communities, Multicurrency), préférences d'org et paramètres qui nécessiteraient sinon des clics manuels dans Setup. C'est une alternative explicite et versionnée à l'org shape, qui capture au contraire automatiquement la configuration d'un sandbox existant. Les équipes commitent leur fichier de définition dans le repo afin que chaque scratch org d'un développeur, et chacun créé par CI, parte de la même configuration connue, ce qui compte car un scratch org auquel manque une fonctionnalité dont dépend le codebase fera échouer déploiements ou tests de façon déroutante. Se tromper dans le fichier de définition est l'un des maux de tête les plus courants au démarrage avec les scratch orgs. Notre guide des plateformes DevOps Salesforce détaille davantage les pièges de configuration des scratch orgs.
Comment cela fonctionne dans Serpent
Serpent applique automatiquement la scratch org definition d'une équipe chaque fois qu'il provisionne un scratch org dans le cadre de la configuration d'une tâche, afin que chaque développeur obtienne un environnement configuré à l'identique sans exécuter manuellement de flags CLI. Les préférences d'org, les fonctionnalités et les données de seed s'appliquent toutes de façon cohérente sur les scratch orgs regroupés que Serpent maintient chauds pour l'équipe. Voir la gestion des orgs dans Serpent pour savoir comment le provisionnement des scratch orgs s'articule avec les sandbox.

Scratch Org Definition, expliqué
Démarrez gratuitement. Sans carte bancaire, sans installation, sans engagement.
Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.
