La prochaine vague de CI/CD - Conception et automatisation des processus visuels de CI/CD

L'intégration continue (IC) et la livraison continue (CD) sont un ensemble de meilleures pratiques conçues pour permettre aux équipes de développement de créer, modifier, améliorer et livrer des changements de produits plus fréquemment et avec moins d'erreurs. L'ensemble du processus est généralement appelé CI/CD pipeline.

Test dans le cadre de l'intégration continue (IC) et de la prestation continue (CD)

L'une des parties les plus importantes de l'IC/CD est le test. Les tests doivent également être continus par définition. N'oubliez pas que notre préoccupation est de nous assurer que nous fournissons des applications de qualité à nos parties prenantes. Les tests continus consisteront à effectuer des régressions automatisées, des tests fonctionnels, des tests unitaires et des tests de performance. Ces tests doivent être exécutés dans le cadre du pipeline CI/CD.

Les outils de CI/CD tels que Jenkins, CircleCI, AWS CodeBuild, Travis CI, Bambou d'Atlantideou d'autres sont les outils de choix aujourd'hui pour la CI/CD. Tous permettent aux ingénieurs de DevOps d'intégrer des tests automatisés. En outre, des services tels que SauceLabs permettent de gérer l'IC/CD à grande échelle et avec des accords de niveau de service au niveau de l'entreprise. Et il existe de nombreux autres outils innovants qui devraient figurer dans votre carquois de test - des outils comme scriptworks.io pour l'utilisation d'une approche à faible code pour la création de vos scripts au sélénium.

Cependant, aujourd'hui, je veux vous parler de l'automatisation de la CI/CD en introduisant la conception visuelle des processus dans votre panoplie d'outils de CI/CD. AVERTISSEMENT - Comme toute technologie, celle-ci ne convient pas à tout le monde ni à toutes les situations. Pour beaucoup d'entre vous, ce sera excessif et vous risquez de vous gratter la tête en vous demandant "pourquoi ai-je besoin de cela". Il se peut que vous n'en ayez pas besoin.

Quel type de projets doit utiliser Visual CI/CD ?

Alors, qui devrait être intéressé à ajouter l'automatisation du processus visuel de CI/CD à son processus actuel de CI/CD ? Voici quelques caractéristiques à observer pour savoir si votre projet de logiciel doit utiliser l'automatisation des processus visuels comme une intégration/extension de votre outil de CI/CD :   

  • Multi-locataires - Vous utilisez une application SaaS multi-tenant
  • Participation des parties prenantes - Vous avez des clients ou des partenaires qui doivent participer au processus de conception et de contrôle de la qualité et de la livraison des codes
  • Personnalisation - Votre application permet aux clients de la personnaliser et, par conséquent, vos tests fonctionnels au sélénium auront tendance à se développer et à changer fréquemment (à mon humble avis, c'est peut-être la principale raison d'utiliser la conception visuelle des processus de CI/CD).
  • Étapes d'approbation du manuel - Vous pouvez avoir besoin d'étapes d'approbation manuelles pour certains types de mises à jour de locataires, de conformité ISO et réglementaire, ou en raison de stipulations dans les contrats avec les clients
  • Alertes automatisées et règles de retour en arrière - Les parties prenantes et les clients peuvent avoir besoin d'être alertés en temps utile en raison des protocoles de sécurité qu'ils suivent ou que leurs clients leur demandent de suivre
  • Collaboration - De plus en plus souvent, la CI/CD devient une fonction critique de l'entreprise et non plus seulement une initiative menée par le développeur. En tant que tel, les acteurs non techniques voudront comprendre le processus et devront collaborer.
  • Chaînes d'approvisionnement complexes - Pour les logiciels construits par des équipes et des entreprises indépendantes, il faudra davantage d'audits visuels.
  • Exécution des tests en parallèle - Les projets de plus grande envergure doivent effectuer des tests sur le sélénium en parallèle afin de pouvoir effectuer des tests plus rapidement et plus efficacement

Sélénium simplifié

Aujourd'hui, nous allons vous présenter un exemple concret de l'intégration de l'automatisation visuelle des processus dans votre processus CI/CD. Nous avons construit un processus robuste et entièrement automatisé en utilisant ProcessMaker, une technologie d'automatisation de processus de nouvelle génération. Nous pensons que vous verrez que cela nous donne un énorme niveau de flexibilité, de visibilité et d'efficacité supplémentaires par rapport à la façon dont l'AQ et les CloudOps interagissent habituellement pour effectuer des tests automatisés et exécuter des pipelines CI/CD. Comme indiqué précédemment, cette solution s'adresse aux équipes d'ingénieurs qui ont besoin d'aborder des scénarios de test et de déploiement de versions plus complexes.

Dans cet exemple, notre processus s'intègre à divers services liés aux CI/CD de l'AWS (CodePipeline, CodeCommit, CodeDeploy et fonctions Lambda personnalisées), Github et Selenium. Dans votre cas, vous pouvez choisir d'utiliser différents outils de CI/CD comme ceux mentionnés ci-dessus. Vous pouvez visionner la vidéo de présentation de la suite de tests d'assurance qualité automatisée de ProcessMaker ici.

Ce que nous allons voir dans la vidéo

Dans notre exemple d'application, nous avons construit un pipeline visuel de CI/CD pour tester une application d'entreprise à plusieurs locataires. Cet échantillon a été construit pour une grande société d'ERP qui avait besoin de collaborer avec de nombreux fournisseurs. En outre, l'application pouvait être personnalisée par les clients, ce qui signifie que pour chaque mise à niveau, non seulement l'application de base devait être testée, mais les clients devaient également pouvoir stocker les tests de sélénium dans leurs propres dépôts Git pour les tester avant de déployer les mises à niveau du logiciel de base. En outre, certains clients peuvent se trouver sur des nuages publics avec des délais fixes, tandis que d'autres peuvent se trouver sur des nuages privés qui nécessitent un consentement manuel du client après qu'on leur ait donné un certain temps pour examiner toute anomalie de leurs cas de test locaux.  

Ainsi, comme vous pouvez le voir, dans ce cas, il existe un certain nombre de raisons pour lesquelles un processus visuel peut grandement améliorer l'utilisation traditionnelle d'une suite de CI/CD.

Comment fonctionne le processus

Ce processus est lancé à partir d'un code commit qui se produit dans le CodeCommit de l'AWS. Cela déclenche l'AWS CodePipeline pour passer un appel à l'API ProcessMaker afin de lancer le processus. ProcessMaker inspecte ensuite les informations de CodeCommit pour savoir quels tests fonctionnels au sélénium doivent être exécutés et appelle le ou les dépôts Github appropriés pour charger la version correcte des suites de tests à exécuter.

Les suites de tests Selenium sont ensuite exécutées en parallèle, le tout géré par le moteur de workflow deProcessMaker. La beauté de la chose est que ProcessMaker peut gérer une parallélisation vraiment massive des tests dans le nuage. Cela peut être pour exécuter à la fois l'orchestration et l'exécution, ou peut-être juste l'orchestration (lorsqu'elle est intégrée avec quelque chose comme l'API Sauce Labs pour l'exécution et les rapports supplémentaires).

Utilisation des règles de gestion pour évaluer les résultats des tests avant de passer à CodeDeploy

Les réponses au test sont renvoyées à ProcessMaker et stockées dans l'objet ProcessMaker approprié. Cet objet est ensuite évalué par les règles de gestion de ProcessMaker pour voir si l'un des tests a échoué. Si certains tests ont échoué, il alerte les personnes concernées et attend d'être relancé. Si tout réussit, ProcessMaker rappelle l'AWS afin de mettre le code en production.

Ce processus est entièrement automatisé et ne nécessite aucune interaction humaine. Cependant, comme le processus est conçu visuellement et n'est pas codé en dur, il peut être modifié facilement et visuellement. Ainsi, toutes les parties intéressées peuvent voir et vérifier le processus. Ainsi, comme nous l'avons mentionné précédemment, si un client particulier nécessite une étape d'approbation humaine (ou plusieurs étapes) avant de passer à la phase de déploiement du code, nous pouvons facilement l'exécuter sur la base d'une simple règle métier. D'autres peuvent avoir besoin de puiser dans divers dépôts github (ou autres) qui sont à la fois publics et privés et maintenus par différentes parties.

Exécution de tests dans une image de docker personnalisée

Les tests qui sont tirés de GitHub, dans cet exemple, sont écrits en Python en utilisant des tâches de script et une image Docker personnalisée dans ProcessMaker pour exécuter des tests de sélénium contre cet environnement cible. ProcessMaker permet aux équipes d'assurance qualité de développer des scripts dans n'importe quel langage de programmation pour appeler les tests de sélénium et les exécuter dans des conteneurs Docker indépendants. Ces conteneurs Docker peuvent même charger le langage ainsi que des bibliothèques ou SDK supplémentaires si nécessaire.

Pourquoi même les développeurs adorent le Low Code

Bien que le CI/CD ait été inventé par des développeurs pour des développeurs, son importance dépasse rapidement le cadre du backoffice. Ainsi, de plus en plus de parties prenantes doivent comprendre ce qui se passe. Les questions juridiques et de conformité entrent désormais en jeu, ce qui signifie que la responsabilité, l'indemnisation, la certification et bien d'autres choses encore affectent désormais la responsabilité avec laquelle fonctionne CI/CD. Ainsi, l'évolution naturelle de la CI/CD est qu'un certain niveau d'outils visuels à faible code ou sans code est désormais nécessaire. La vérité est que tant que le flux de travail orchestré visuellement sans code permet aux développeurs d'utiliser leurs outils préférés (Docker, Kubernetes, Selenium, Git, etc.), nous avons vu que les développeurs aiment l'outillage supplémentaire.

Si vous souhaitez en savoir plus sur l'utilisation de CI/CD visuels pour étendre votre processus actuel, veuillez nous contacter à ProcessMaker ou visionner cette vidéo.

La prochaine vague de CI/CD - Conception et automatisation des processus visuels de CI/CD

Solutions pour les plates-formes

Voyez par vous-même ! Essayez gratuitement les dernières fonctionnalités de ProcessMaker Platform.

Essai gratuit

S'abonner à la Newsletter Hyper-Productivity™ de ProcessMaker

    Consentement à la politique de confidentialité En cochant cette case, vous consentez à Déclaration de confidentialité du fabricant de processus.

    Découvrez comment des entreprises de premier plan utilisent ProcessMaker pour rationaliser leurs opérations grâce à l'automatisation des processus.

    Contactez-nous

    Mise à jour sur la protection de la vie privée
    Nous utilisons des cookies pour rendre les interactions avec notre site web et nos services faciles et significatives. Les cookies nous aident à mieux comprendre comment notre site web est utilisé et à adapter la publicité en conséquence.

    Accepter