Upgrade to PRO for Only $50/Year—Limited-Time Offer! đŸ”„

On-Demand CI/CD with Gitlab and Kubernetes

Avatar for Julien Vey Julien Vey
November 05, 2020
40

On-Demand CI/CD with Gitlab and Kubernetes

Avatar for Julien Vey

Julien Vey

November 05, 2020
Tweet

Transcript

  1. 7 radios nationales 44 radio locales 4 formations musicales ~

    4200 salariés ~ 100 métiers différents ...
  2. 6 sites web 5 applications mobiles 49 millions de visites/mois

    53 millions de podcasts téléchargés/mois ...
  3. D’oĂč nous venons Hooks RĂ©sultats des jobs Gitlab pour la

    gestion des repos git Jenkins pour les tests et les déploiements
  4. Pourquoi ça ne marchait pas Context Switching entre Gitlab et

    Jenkins ConïŹg Jenkins statique, pas de customisation L’équipe “CI/CD” en charge de tous les jobs Temps d’attente en “Queue” importants
  5. LĂ  oĂč on voulait aller Centraliser le code, la CI,

    les dĂ©ploiements Laisser la main aux Ă©quipes sur leur workïŹ‚ow de mise en production Fournir les outils et non les process
  6. Le passage sur Kubernetes Gitlab Kubernetes Executor Runner A Runner

    B Runner ... Master Job Job Job Job Job Job Job Job Job Job Job Job Job
  7. Le passage sur Kubernetes Nodepool de Spot Instances Job Job

    Job Job Job Job Job Job Job Job Job Job Job Spot Spot Classic Classic
  8. Le passage sur Kubernetes En résumé Optimisation des coûts Réduction

    des dĂ©lais d’attente (CI “illimitĂ©e”) Monitoring & Supervision MaintenabilitĂ©
  9. Sur Kubernetes, tout est conteneur docker build n’est pas adaptĂ©

    à ce modÚle Build des images Docker La problématique du build
  10. Kaniko avec Gitlab Custom Executor docker build: stage: build tags:

    - executor:kaniko variables: DOCKERFILE: path/to/Dockerfile IMAGE_NAME: my-app script: - kaniko build
  11. Process vs Tools L’équipe CI/CD est responsable de l’outillage Les

    Ă©quipes de dev sont responsables de leur workïŹ‚ow de dĂ©ploiement
  12. MĂ©triques FrĂ©quence de dĂ©ploiement en production 10/jour avant, 50/jour aujourd’hui

    Temps de dĂ©ploiement sur Kubernetes de 6 minutes Ă  20s CoĂ»t d’hĂ©bergement de la CI/CD 70% de gain annuels