
Andrew Hanna

Tekunda Team

Salesforce DevOps est un processus de développement logiciel qui combine les principes Agile, l'intégration continue et la livraison continue pour fluidifier la livraison d'applications de qualité. Dans cet article, nous explorons les 5 piliers d'un processus Salesforce DevOps réussi et la façon de les mettre en place dans votre organisation.
DevOps est essentiel dans le cycle de développement. Il permet à votre équipe d'aller plus vite et plus sûrement, tout en lui donnant les moyens de se remettre rapidement et efficacement d'une mauvaise release ou d'une perte de données. Salesforce DevOps est particulier, car il exige une connaissance du domaine SFDC et des outils sfdx en plus des connaissances DevOps classiques. Trouver le bon outil ou en créer un depuis zéro devient donc un vrai défi. C'est pourquoi nous avons créé Serpent. Il augmente votre agilité, raccourcit les cycles de release et réduit les déploiements à quelques minutes, afin de garder une longueur d'avance sur vos concurrents.
Planifiez une démo pour découvrir comment Serpent peut renforcer votre stratégie Salesforce DevOps dès aujourd'hui. Tekunda propose de solides outils pour aider vos équipes DevOps, dont le version control intégré, des systèmes de continuous deployment, des outils de merge et de nombreux outils de test.
DevOps est la combinaison de pratiques et d'outils qui augmente la capacité d'une organisation à livrer des applications et des services à grande vitesse. Cela permet d'améliorer les produits plus vite que les organisations qui s'appuient sur des processus manuels de développement logiciel et de gestion d'infrastructure.
DevOps optimise la collaboration de votre équipe lorsque vous construisez et déployez des applications Salesforce, intégrez le version control, automatisez les workflows et livrez avec confiance grâce aux outils CI et à la Metadata API. Nous montrerons comment Tekunda simplifie et fluidifie ces pratiques.
Les développeurs Salesforce peuvent choisir parmi de nombreux environnements de travail : scratch orgs, developer orgs, sandboxes, partial et full copy sandboxes, et bien sûr la production où vivent vos données client les plus importantes.
Vous avez aussi plusieurs façons de packager une release selon les besoins du projet et son public cible. Vous pouvez utiliser changesets, managed packages, unmanaged packages, unlocked packages, metadata deployment ou Salesforce DX pour charger une nouvelle application dans une organisation.
Ce ne sont que quelques exemples de ce qui rend DevOps différent lorsqu'il est abordé depuis une perspective Salesforce. Si toutes ces méthodes de gestion et de déploiement semblent trop lourdes, découvrez Serpent et éliminez immédiatement cette charge opérationnelle.
Il vous donne l'avantage le plus important en technologie : l'agilité. Il permet de gérer le source control, de construire, déployer et livrer plus vite, tout en gérant les changements plus efficacement. Il donne à votre équipe logicielle la capacité de gérer tout le processus end to end avec peu d'effort de code, ce qui simplifie fortement le développement entre les membres de l'équipe.
DevOps apporte une grande valeur en éliminant les tâches traditionnelles et manuelles, complexes et très chronophages. Il le fait en introduisant de nombreux processus automatisés, comme l'exécution des tests d'automatisation, d'intégration et unitaires, le déploiement vers le bon environnement sans intervention, et bien plus encore. Le résultat : des releases plus rapides et moins risquées, qui vous aident à atteindre votre ROI plus vite.
Le version control consiste à suivre les changements et à conserver l'historique des versions précédentes du code, de la metadata et des releases d'une application. Développer avec le version control est essentiel dans tout environnement, car il faut pouvoir revenir en arrière à tout moment. Si un nouveau changement casse la production à cause de bugs imprévus, vous devez pouvoir restaurer rapidement la dernière version stable et réduire l'arrêt opérationnel.
Le version control permet aussi une collaboration fluide, car il n'y a souvent pas qu'une seule personne qui travaille sur une application. Lorsque plusieurs développeurs modifient le code, chaque changement doit être suivi séparément, accessible et visible par tout le groupe pour éviter les conflits. C'est pour cette seule raison que le version control est considéré comme le composant le plus important de toute configuration DevOps.
Il est important d'avoir un processus solide pour gérer votre cycle de release. Passer directement du développement à la production peut tout vous coûter et créer une boucle de logiciel instable. C'est là que le release management intervient. Il se concentre sur le passage du logiciel de la phase de développement à la phase go-live pour les utilisateurs. Avant le go-live, le logiciel passe par une série de tests pour vérifier qu'il fonctionne comme prévu. Le release management fournit les environnements nécessaires à ces tests de régression et permet d'appliquer les corrections jusqu'au rollout.
CI/CD relève du release management. Cela va de l'exécution automatique des tests unitaires sur les nouvelles pull requests pour vérifier que tout fonctionne encore comme prévu, jusqu'à l'automatisation du déploiement vers le bon environnement lorsque du nouveau code est mergé. CI/CD est la colle qui garantit que vos flux DevOps passent d'une étape à l'autre sans gaspiller le temps des développeurs, afin qu'ils fassent ce qu'ils font le mieux : développer.
Préférez-vous travailler vite ou précisément ? Et si les deux étaient possibles tout en réduisant les risques ? Une stratégie DevOps vous permet de limiter les risques d'un changement incorrect qui se propage instantanément dans différentes organisations et affecte l'utilisateur final. Elle vous donne aussi la possibilité de garder une stratégie de rollback pour vos changements de développement, avec une sauvegarde adaptée.
DevOps garantit que les équipes d'ingénierie peuvent mettre en œuvre leur travail sans craindre les dépendances ou les ruptures. Personne ne veut refaire le même travail, et avec des solutions DevOps intelligentes, vous éliminez ce facteur et vous continuez à vous concentrer sur vos prochaines grandes releases client.
Avec le version control, plusieurs membres de l'équipe peuvent travailler simultanément sur la même application tout en éliminant le facteur de dépendances. Version control facilite la coordination, le partage et la collaboration dans toute l'équipe de développement logiciel, en permettant aux équipes de travailler dans des environnements distribués et asynchrones. Il vous permet de gérer les changements, de maintenir différentes versions du code et des artefacts, et de résoudre les merge conflicts et anomalies associées, ce qui accélère la mise en production de vos apps Salesforce.
Serpent a été conçu spécifiquement pour les cycles de développement et de release Salesforce. Il permet aux utilisateurs d'orchestrer les changements dans tout leur écosystème de développement, en éliminant les douleurs rencontrées avec les outils dev traditionnels. Serpent couvre tout le lifecycle développement-release, notamment l'exécution des tests unitaires, le merge de composants, le version control, les continuous integrations, continuous deployments, l'analyse de code, le rollback et les sauvegardes.

Andrew Hanna

Serpent Team

Tekunda Team

Tekunda Team

Tekunda Team

Andrew Hanna