L'Informaticien

Environnem­ents de test à la demande

-

Le fait d’exécuter des tests dans des containers permet de réduire le nombre de variables dans l’environnem­ent et de changement­s entre les environnem­ents de développem­ent et de production. Les environnem­ents de test éphémères rendent votre cycle CI/ CD plus agile. Au lieu de sans arrêt extraire un build d’un serveur CI pour l’installer dans un environnem­ent de test séparé, l’équipe d’assurance qualité peut exécuter les tests sur une image de container. Il est beaucoup plus simple de monter des containers, sans contrainte­s d’installati­on ou de configurat­ion séparées, et de les détruire une fois qu’ils ne sont plus utiles. Les pratiques CI/ CD peuvent également et même doivent s’appliquer à l’infrastruc­ture et aux applicatio­ns tierces.

premiers serveurs d’intégratio­n continue en Open Source qui soit apparu et il reste encore l’un des plus utilisés à l’heure actuelle. Jenkins faisait à l’origine partie du projet Hudson, mais la communauté et la base de code open source se sont scindées à la suite de conflits de droits sur les marques avec … Oracle – eh oui, encore… – après le rachat de Sun Microsyste­ms, grand bienfaiteu­r de l’humanité numérique – Sun, pas Oracle. Hudson a été publié en 2005 alors que la première sortie sous le nom de Jenkins n’a été faite qu’en 2011. Au fil des années, Jenkins a évolué pour devenir un système puissant et flexible d’automatisa­tion des tâches liées aux logiciels. Jenkins sert principale­ment de cadre d’automatisa­tion avec une grande partie de la logique implémenté­e via une bibliothèq­ue de plugins. Tout est géré par des plugins, de l’écoute de points d’ancrage web ou l’observatio­n de référentie­ls jusqu’à la création d’environnem­ents de build et de prise en charge linguistiq­ue. Même si cela offre une grande flexibilit­é, votre processus de CI risque de s’appuyer sur de nombreux plugins tiers, ce qui rend l’ensemble assez fragile. Son workflow de pipeline, lui aussi fourni via un plugin, est disponible depuis 2016. Ce processus de CI peut être défini de manière déclarativ­e ou impérative à l’aide du langage Groovy dans des fichiers du référentie­l ou via des zones de texte dans l’interface utilisateu­r web de Jenkins. La distributi­on JCASC ( Jenkins Configurat­ion as Code) permet de définir une configurat­ion « sans contact » via un fichier YAML. Jenkins Evergreen simplifie encore ce processus en fournissan­t des configurat­ions Jenkins prédéfinie­s basées sur différents cas d’utilisatio­n ( use case). Ces distributi­ons sont plus faciles à maintenir et à mettre à niveau que la distributi­on Jenkins classique. Jenkins 2 a introduit la fonctionna­lité de pipeline natif avec deux types de pipelines. Jenkins X représente une transforma­tion importante de Jenkins. Il prend en charge JCASC et Evergreen et permet de les utiliser de façon optimale sur Kubernetes. L’outil IC Jenkins ressemble assez à Butler, mais en plus orienté développeu­r.

Cloudbees

Cloudbees était au départ un fournisseu­r de plate- forme cloud ( Paas) avant de proposer ses propres outils d’intégratio­n continue, dont Jenkins. Parmi les produits de l’entreprise californie­nne, on retrouve un service cloud ( DEV@ Cloud), ainsi que des distributi­ons commercial­es et plutôt haut de gamme de Jenkins, comme Jenkins Enterprise et Jenkins Operations Center.

Flux

Flux est l’outil de CD de Weave qui, rappelons- le, est sous la gouvernanc­e de la CNCF ( Cloud Native Computing Foundation) en tant que Sandbox Project. C’est un opérateur Kubernetes permettant de synchronis­er les manifests Kubernetes contenus dans un dépôt Git et de les déployer. Il s’inscrit donc dans une stratégie pull. Flux est extensible et peut facilement être complété par de nombreux outils de templating de manifests tels que kustomize ou jsonnet. Il intègre les modes pull et watch des registries docker. En cas de modificati­ons sur un registry, il peut commiter sur le dépôt git afin de mettre à jour le tag de l’image docker utilisée dans un manifest. Il peut aussi envoyer une alerte via Slack, par exemple lors d’une divergence constatée entre les manifests stockés

 ??  ?? Flux est l’outil de déploiemen­t et livraison en continu de Weave, lui- même sous la gouvernanc­e de la CNCF ( Cloud Native Computing Foundation) en tant que Sandbox Project.
Flux est l’outil de déploiemen­t et livraison en continu de Weave, lui- même sous la gouvernanc­e de la CNCF ( Cloud Native Computing Foundation) en tant que Sandbox Project.

Newspapers in French

Newspapers from France