Glossaire Salesforce DevOps

Unlocked Package

Un package qui s'installe proprement sur plusieurs orgs sans que Salesforce ne cache son code ou sa logique.

Définition

Un unlocked package est un type de package 2GP qui regroupe des métadonnées en un artefact versionné et installable pour une distribution interne, org à org, sans le masquage de code ni l'application de namespace qu'exige un package managé. Une fois installés, la plupart des composants restent visibles et modifiables dans l'org abonné, et sont proprement supprimés à la désinstallation, contrairement aux métadonnées unmanaged.

En construire un signifie définir un répertoire de package dans sfdx-project.json, connecter un Dev Hub, et exécuter sf package version create pour produire une version immuable construite depuis un scratch org neuf. Chaque version prend en charge des dépendances vers d'autres packages et une ancestry suivie entre releases.

Le compromis est que rien dans un unlocked package n'est caché, ce qui ne convient donc pas pour livrer de la logique closed-source à des clients payants, et les équipes ont toujours besoin d'un pipeline de build pour scripter la création et la promotion de versions, sauf si elles adoptent un outillage qui s'en charge pour elles.

En pratique

Comment cela fonctionne dans Serpent

Serpent construit, versionne et promeut nativement les unlocked packages, sans exiger des équipes qu'elles scriptent sf package version create et la résolution des dépendances à la main. Les répertoires de packages, numéros de version et l'ancestry sont gérés via l'interface, de sorte que les changements d'une tâche deviennent automatiquement une version de package à mesure que le travail est cadré et approuvé. La promotion entre orgs, la détection de dérive par rapport aux versions installées, et le rollback vers une version de package antérieure sont gérés de la même façon que toute autre release. Voir le développement de packages dans Serpent pour le workflow complet.

Mapping commit-vers-package dans Serpent
Questions fréquentes

Unlocked Package, expliqué

Les abonnés peuvent-ils voir et modifier le code d'un unlocked package ?
Oui. Les unlocked packages ne cachent pas le code comme le font les packages managés, donc la plupart des composants restent visibles et modifiables après installation, bien que certains types de métadonnées puissent être marqués protégés.
Puis-je convertir un unlocked package en package managé plus tard ?
Non. Le type de package est défini à la création et ne peut pas être changé ensuite, donc passer à managé signifie construire un nouveau package.
Les unlocked packages prennent-ils en charge le versioning et les dépendances comme les packages managés ?
Oui. Comme les deux utilisent 2GP, les unlocked packages prennent en charge des numéros de version complets, le suivi d'ancestry, et les dépendances vers d'autres packages, tout comme les packages managés 2GP.

Démarrez gratuitement. Sans carte bancaire, sans installation, sans engagement.

Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.

Curieux de livrer plus vite avant de vous lancer ? Parlons-en

Sans engagement.