Aller au contenu

Niveau 3 - Release manager Salesforce DevOps

Durée : environ 7 h.

Prérequis : le Niveau 1 et le Niveau 2. Les deux sont obligatoires, et l'audit du badge les contrôle tous les deux avant de regarder quoi que ce soit ici.

Pourquoi le Niveau 2 n'est pas facultatif

Un release manager relit les erreurs de déploiement, les deployment actions et les conflits des autres. C'est exactement ce que le Niveau 2 vous fait traverser. Quelqu'un qui n'a jamais résolu une erreur de déploiement ne peut pas juger si un contributeur a bien résolu la sienne, et les revues qu'il fera porteront sur la mise en forme.

Si vous avez sauté le Niveau 2, faites-le. Ce sont quatre heures, et c'est la différence entre approuver des Pull Requests et les comprendre.

L'histoire

Victor Squeeker est parti. Il était le release manager, il a monté la pipeline il y a deux ans, et il ne l'a jamais fini.

Ce dont vous héritez fonctionne, au sens où les contributeurs livrent dans integration tous les jours et où le métier teste dans uat. Ce qu'il n'a pas :

  • Ni preprod ni production dans la pipeline. Les branches existent. Rien n'y déploie
  • Pas d'authentification de CI correcte. Il y a deux secrets de refresh token que quelqu'un a ajoutés à la hâte
  • Pas de monitoring. Personne n'apprend qu'il y a un problème en production avant qu'un utilisateur n'appelle
  • Ni notes de version ni métriques. Personne ne sait dire ce qui a été livré le mois dernier ni combien de temps cela a pris
  • Pas de documentation générée. L'org a deux ans et la seule description qui en existe, c'était Victor

Votre première semaine consiste à finir la pipeline. Ensuite, vous la faites tourner.

Le menu Training

Tout ce que ce cours vous demande de lancer en dehors des boutons du produit lui-même tient dans un seul menu. Ouvrez la Welcome page, et sous CUSTOM MENUS cliquez sur la carte Training: Level 3. Ses commandes prennent alors toute la page :

Le menu de formation du niveau 3, ouvert sur la Welcome page

Elles sont dix, et les labs les appellent par ces noms :

Commande Ce qu'elle fait
Set up my training environment Reconstruit une scratch org qui a expiré, et pointe la pipeline dessus
Where am I? Dit à quel niveau et à quel lab vous en êtes, et ce qu'il faut faire ensuite
Set up one of my training orgs Déploie l'application Helios et ses données dans une org que vous choisissez
Simulate my teammates Crée les branches et Pull Requests de collègues dont un lab a besoin
Publish my pipeline configuration Ouvre une Pull Request vers integration avec la configuration que vous avez modifiée
Check my work Vérifie le lab que vous venez de terminer et affiche votre reçu
Claim my badge Contrôle le niveau entier, puis ouvre votre demande de badge déjà remplie
Update my course Apporte les changements reçus par le cours depuis votre fork, par une Pull Request vers integration
Reset this level Remet votre repository au début du Niveau 3
Clean up a training org Retire l'application Helios et ses données d'une org

Il y a un menu par niveau, et chacun ne contient que ce dont ce niveau a besoin : rien de ce que vous avez sous les yeux ne concerne un lab que vous n'avez pas encore atteint.

Les mêmes commandes sont dans la vue SFDX HARDIS de la barre de gauche, sous Training: Level 3. Les deux chemins lancent la même chose.

Ce que vous allez faire

Lab Titre Durée
3.1 Configurer la pipeline CI/CD jusqu'à la production 75 min
3.2 Relire et merger la Pull Request d'un contributeur 25 min
3.3 Lire le log de déploiement, et ce que .forceignore lui cache 25 min
3.4 Trois Pull Requests se percutent : choisir l'ordre de merge 35 min
3.5 Promouvoir en UAT et écrire les notes de version 35 min
3.6 Livrer en production et lire vos métriques DORA 35 min
3.7 La production est cassée : hotfix et retrofit 35 min
3.8 Monitorer votre org de production 35 min
3.9 Générer la documentation du projet Salesforce 20 min
3.10 Promouvoir un sous-ensemble avec les promotion branches (Beta) 55 min
3.11 Épreuve finale : mener un cycle de release hebdomadaire 45 min

Une org de plus

Les niveaux 1 et 2 ont tourné sur une org Developer Edition, helios-prod, et les trois scratch orgs qu'elle a créées : helios-dev, helios-integration et helios-uat. Ce niveau ajoute la production et l'étape qui la précède, et demande une inscription de plus.

Avant le Lab 3.1, inscrivez-vous à une org Developer Edition gratuite de plus sur developer.salesforce.com/signup et connectez-la dans Orgs Manager avec l'alias helios-preprod. Alimentez ensuite les deux orgs Developer Edition avec Training: Level 3 > Set up one of my training orgs : helios-preprod, et helios-prod, qui jusqu'ici ne faisait que créer les autres et ne contenait rien.

helios-prod reçoit les mêmes sources que les autres orgs. Rien n'alimente un historique de déploiement : le rapport DORA du Lab 3.6 ne voit donc que l'alimentation et les déploiements que vous faites vous-même.

Si une scratch org a expiré depuis le Niveau 2, Training: Level 3 > Set up my training environment la reconstruit d'abord.

Votre rôle change

Aux niveaux 1 et 2, vous construisiez des User Stories et ouvriez leurs Pull Requests. Un release manager ne le fait pas. Vos collègues ouvrent les Pull Requests, Simulate my teammates les joue, et vous les relisez, les mergez ou les renvoyez. Ce que vous créez vous-même, c'est la pipeline : sa configuration, que Publish my pipeline configuration envoie vers integration par une Pull Request, et les promotions d'une branche majeure à la suivante, integration vers uat, uat vers preprod, preprod vers main.

Commencer par le Lab 3.1

Questions and comments