Déployer des metadata via Change Set

Déployer des metadata via Change Set

Chaque société utilisant Salesforce dispose de plusieurs environnements en dehors de celui de la production : développement, intégration, merge, UAT, préproduction, …
Quel que soit le nom, le nombre ou l’utilité de ces environnements, des métadonnées (Metadata) sont amenées à transiter entre chacun de ses environnements dans le but final de déployer une correction ou une évolution en production.

Déployer des metadata via Change Set

Par métadonnées, on entend par exemple une classe Apex, une page Visualforce, une règle de validation (validation rule), une présentation de page (Page Layout), un composant Lightning …
Ce déploiement incombe généralement à un Release manager ou à défaut directement aux développeurs.

On distingue les types d’opérations suivants :

  • Extraction des metadata depuis un environnement source
  • Importation des metadata vers un environnement cible
  • Suppression des metedata dans un environnement

Quelles options s’offrent à nous ?
Au travers d’une suite de 3 articles, nous allons explorer :

Nous allons traiter le premier de ces points dans cet article.

Déploiement via Change Set (Ensemble de modifications)

Le Change Set constitue le moyen le plus basique de déployer des métadonnées d’un environnement à l’autre (sujet abordé dans notre article sur le Change set model). Il a pour avantage principal de ne nécessiter aucune installation. En effet, il est directement intégré dans les menus de Salesforce.

Il présente toutefois des limitations comme :

  • l’impossibilité de supprimer des metadata
  • la restriction d’échanges de metadata entre environnements liés (Sandbox et production d’une même org Salesforce uniquement)
  • une utilisation qui devient vite laborieuse quand le nombre de metadata est élevé

Il peut toutefois convenir pour des utilisations ponctuelles ou si l’on est par exemple dans l’impossibilité d’installer un programme sur son poste.

Pour ce faire, il faut d’abord commencer par autoriser une connexion depuis l’environnement cible en décidant quels environnements sources peuvent lui envoyer des metadata. Cela se fait depuis le menu Setup | Deployment Settings :

Deployment Settings

Il reste alors à autoriser l’environnement source en cliquant sur Edit puis cocher Allow Inbound Changes :

Inbound Enabled

On peut aller maintenant dans l’environnement source afin de créer un outbound change set :

Créer un Outbound Change Set pour déployer les Metadata

Create Outbound Change Set

En cliquant sur New, on commence à créer notre Change set en lui donnant un nom et une description :

Add Components to change set

A l’aide du bouton Add, il reste à choisir le type de métadonnées que l’on souhaite ajouter et choisir le ou lesquels on souhaite :

Select Component in change set

Il n’y a pas de mécanisme rapide de recherche de métadonnées et on doit cliquer autant de fois sur Add que l’on souhaite rajouter de types différents de métadonnées, ce qui peut rendre le travail fastidieux.

Importer les Metadata avec un Inbound Change Set

Une fois les métadonnées sélectionnées, on peut charger cet outbound package vers l’environnement cible à l’aide du bouton Upload. Il faut alors patienter un peu car le chargement prend un peu de temps avant de voir apparaître le change set dans les Inbound Change Sets de l’environnement cible (dans la zone Change Sets Awaiting Deployment) :

Inbound Change Set Wait

Une notification par email est envoyée une fois que le change set est disponible dans l’environnement cible.

Inbound Change Set Ready

Après avoir cliqué sur le nom du Change Set, il reste alors à cliquer sur le bouton Deploy :

Inbound Change Set Deploy
N.B. : le bouton Validate permet de tester le déploiement mais ne l’applique pas sur l’environnement cible.

Ainsi, nous avons déployé des metadata d’un environnement à l’autre grâce à des Change Set.

Ce premier volet sur le déploiement de métadonnées s’achève. La suite dans nos prochains articles !