BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Yahoo! Screwdriver : Un Outil Livraison Continue qui évolue

Yahoo! Screwdriver : Un Outil Livraison Continue qui évolue

Yahoo! a ouvert les sources de Screwdriver, leur outil de livraison continue utilisé en interne dans la production.

Screwdriver est un outil de livraison continue qui intègre toutes les étapes de la validation de code au déploiement en production. Yahoo! a de plus en plus utilisé Screwdriver pour automatiser tous les processus de livraison tout au long des cinq dernières années, atteignant plus de 25 000 builds et 12 000+ commits git chaque jour. Selon Yahoo!, ils voulaient un outil de CD qui :

  • Permet aux développeurs de créer facilement des pipelines de déploiement. Les pipelines sont définis dans les fichiers YAML et on peut revenir à une version antérieure du pipeline en rejetant les modifications ou en utilisant une autre version du fichier de configuration.
  • Optimiser le développement sur le trunk. Le trunk doit contenir une version téléchargeable de l'application. Lorsqu'un pull request est effectué, les tests sont exécutés automatiquement pour s'assurer que le code à accepter est testé.
  • Supporte le rolling back. N'importe qui avec les autorisations d'écriture peut faire un retour en arrière d’un déploiement en cas de problème.

Screwdriver a cinq composantes principales :

  • API REST - une interface pour travailler avec des pipelines.

  • Web UI - une interface visuelle pour l'API pipelines.

  • Launcher - un outil pour configurer l'environnement et exécuter des commandes shell.

  • Execution Engine - un exécuteur de build pluggable supportant l'exécution de commandes à l'intérieur d'un conteneur (Jenkins, Kubernetes, Mesos, Docker Swarm).

  • Datastore - un stockage NoSQL pluggable utilisé pour maintenir les données de configuration de pipeline (DynamoDB, MongoDB, CouchDB, Postgres). Le moteur d'exécution et le store de données utilisent une architecture pluggable qui permet d'utiliser le moteur de leur choix.

A présent, Yahoo! a ouvert une version réduite de son outil de CD, mais ils prévoient d'ajouter quelques-uns des composants manquants dans les mois à venir : garder les métadonnées de build pour une utilisation ultérieure, la collecte des mesures, l'analyse du journal et des modèles pour la mise en place et l'exécution de pipelines.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT