• Accueil / Salesforce / Salesforce DevOps: leçons…
, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce6 minutes de lecture


DevOps est un ensemble de pratiques qui combinent le développement logiciel et les opérations informatiques, dans le but de créer une approche collaborative entre des équipes historiquement cloisonnées. DevOps adopte de nombreux principes Agile et permet aux équipes de standardiser, d’automatiser et finalement de livrer des projets plus rapidement, à grande échelle.

DevOps nous donne la flexibilité d’effectuer des déploiements de n’importe où; Les développeurs peuvent même examiner et approuver les déploiements à l’aide d’appareils mobiles. Nous pouvons fournir un produit de qualité en exécutant des suites d’automatisation et nous assurer que la qualité du code est maintenue en intégrant des outils d’analyse de code.

, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Salesforce est une plate-forme basée sur le cloud, ce qui signifie que nous pouvons apporter des modifications directement dans l’environnement de production, mais cela n’est pas recommandé! Pour assurer le succès, le développement Salesforce doit suivre le cycle de vie de développement de base du développement, du test et de la publication.

Dans ce blog, je parlerai de mon expérience d’utilisation de DevOps avec Salesforce pour réaliser des projets réussis. Nous aborderons les modèles d’implémentation typiques, ainsi que la manière de choisir les bons mécanismes de déploiement et l’importance du contrôle de version.

1. Les déploiements Salesforce prennent du temps

Au cours de mes 4 années de développement sur la plateforme Salesforce, travaillant sur 7 projets différents et effectuant au minimum 1 déploiement par semaine en utilisant différents outils et dans plusieurs environnements, il est devenu évident que le développement ne signifie pas que nous construisons quelque chose et que le travail est terminé!

Environ 20% de mon temps en tant que développeur a été consacré à des déploiements (déplacer les changements du développement à la production), ce qui semble être un temps énorme qui pourrait être mieux passé ailleurs.

2. L’apprentissage des modèles de déploiement est essentiel

Pourquoi le déploiement prend-il autant de temps? La réponse réside dans le cycle de vie de la mise en œuvre du projet. En général, nous avons au moins 3 environnements: développement, assurance qualité et production, mais il n’est pas inhabituel de voir des modèles de déploiement beaucoup plus complexes avec des environnements supplémentaires.

Jetons un coup d’œil à quelques modèles de déploiement typiques auxquels vous pouvez vous attendre:

Modèle préliminaire

Ce modèle est utilisé là où la personnalisation de la plate-forme est peu nécessaire et la plupart des exigences des clients peuvent être satisfaites à l’aide des fonctionnalités «prêtes à l’emploi» de Salesforce.

, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Modèle retranché

Ce modèle est largement utilisé dans les projets du secteur des services où les besoins de développement sont complexes.

, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

Modèle sophistiqué

Ce modèle est utilisé sur des implémentations complexes pour les grandes entreprises.

, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

  1. En règle générale, la procédure d’exploitation standard (SOP) permet à un développeur de créer des fonctionnalités dans une organisation de développement, puis de les déployer vers le contrôle qualité pour les tests.
  2. Une fois le contrôle qualité terminé, le développeur déplace ses modifications vers UAT pour que les utilisateurs professionnels les testent.
  3. Une fois qu’un utilisateur professionnel s’est déconnecté, il est ensuite déplacé vers Preprod. L’environnement Preprod est utilisé pour reproduire et corriger les bogues critiques signalés en production.
  4. Si aucun problème n’est détecté, les modifications sont déployées dans Production. Les tests de vérification commerciale (BVT) sont effectués en production au besoin.

Dans notre exemple de modèle de déploiement final, le développeur déploie les modifications dans 4 environnements différents. Cela peut représenter jusqu’à 20% du temps de travail consacré aux déploiements.

3. Choisissez un outil de déploiement Salesforce

Salesforce nous offre plusieurs façons de déployer des modifications, notamment:

  • Ensembles de modifications
  • IDE Force.com (déprécié)
  • Outil de migration ANT
  • Expérience de développement Salesforce (SFDX)

Au départ, j’ai utilisé des ensembles de modifications, cependant, j’ai trouvé qu’ils prenaient du temps et devaient être répétés pour chaque déploiement. Si vous oubliez d’ajouter un composant à votre ensemble de modifications, vous devez recommencer le processus, ce qui peut être très frustrant.

Après avoir recherché les différentes options, j’ai sélectionné le Outil de migration ANT comme ma méthode préférée, qui présente de nombreux avantages supplémentaires, comme indiqué ci-dessous.

, Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>

4. Les systèmes de contrôle de version sont des outils indispensables

En plus de choisir le meilleur outil de déploiement, nous devrions également envisager le contrôle de version. Contrôle de version suit les modifications apportées au code; s’il y a des problèmes, le contrôle de version nous aide à comparer la base de code avec la version précédente, puis à localiser et à résoudre le problème.

Les outils utilisés pour contrôler la version de la base de code sont appelés Systèmes de contrôle de version (VCS). Il existe de nombreux outils VCS disponibles tels que Git, Bitbucket, Gitlab et Perforce.

Pourquoi VCS est-il un outil indispensable?

  • Si vous travaillez en équipe, la gestion des conflits de code inévitables est un casse-tête. VCS vous donne la possibilité de gérer , Salesforce DevOps: leçons tirées de plus de 300 déploiements Salesforce<span class="wtr-time-wrap after-title"><span class="wtr-time-number">6</span> minutes de lecture</span>mergeconflicts avec facilité.VCS fonctionne comme une sauvegarde. Si certains composants sont supprimés de notre environnement par accident, VCS peut être utilisé pour les récupérer.
  • Avant VCS, la gestion des versions était effectuée en prenant une sauvegarde de la base de code après chaque version et en les stockant sous forme de fichiers zip. S’il y a un bogue dans une nouvelle version, comparer la base de code à l’aide de fichiers zip n’est pas une chose facile à faire. VCS le rend beaucoup plus simple.
  • VCS donne la possibilité de faire des évaluations par les pairs. Les membres de l’équipe peuvent facilement examiner le code de chacun et donner des commentaires pour améliorer la qualité du code.
  • VCS a également la capacité de contrôler qui peut apporter des modifications à la base de code en accordant / révoquant des autorisations aux utilisateurs.

Sommaire

En choisissant un outil de déploiement approprié et en implémentant le contrôle de version, vous pouvez vous attendre à voir de nombreux avantages. Personnellement, après avoir implémenté ces bonnes pratiques, j’ai expérimenté:

  • Le temps consacré aux déploiements a été réduit à moins de 10%.
  • Cela m’a donné la flexibilité de travailler sur la preuve de concepts dans mon organisation de développement, puis de migrer vers un bac à sable à l’aide d’ANT.
  • Les systèmes de contrôle de version ont amélioré la qualité du code en facilitant la révision du code, en contrôlant les modifications apportées à la base de code et en fournissant un moyen simple de comparer les bases de code.
  • VCS est maintenant la source de vérité pour ma base de code.

En utilisant tous ces apprentissages, j’ai pu concevoir une solution DevOps efficace, rendant mes déploiements plus robustes.



Source de l’article traduit automatiquement en Français

Besoin d'aide ?
Voulez-vous utiliser Pardot à sa capacité maximale et avoir
+ DE LEADS QUALIFIÉS

Notre analyse de votre Pardot offerte dès aujourd'hui
Merci, vous pouvez compléter notre questionnaire
Nous allons revenir vers vous rapidement !

Fermer