Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub - Du besoin jusqu'à la production avec Github et Azure

GitHub - Du besoin jusqu'à la production avec Github et Azure

Dans cette session, nous allons voir comment tirer profit des fonctionnalités offertes par Github, en partant d'une user story jusqu'à la publication en production.

Nous aborderons la toute nouvelle partie projet qui permet de tracker et suivre efficacement les évolutions, les Github Action pour la partie CI/CD ainsi que les outils mis à disposition pour détecter les failles de sécurité.

Au programme : gestion de projet, automatisation, sécurité, tests, build, conteneur et déploiement dans Azure.

[email protected]

April 19, 2022
Tweet

Other Decks in Programming

Transcript

  1. GitHub
    Du besoin jusqu'à la
    production avec Github
    et Azure
    Lausanne – 19/04/2022
    Sylvain Pontoreau
    Felix Billon

    View full-size slide

  2. Vos speakers pour cette session !
    Sylvain Pontoreau
    Felix Billon
    Lausanne – 19/04/2022

    View full-size slide

  3. Historique
    • Octobre 2007 : début du développement
    • Avril 2008 : lancement officiel
    • Juillet 2010 : 1 million de repositories
    • Septembre 2011 : plus d’1 million d’utilisateurs
    • Avril 2016 : 14 millions d'utilisateurs et 35 millions de repositories
    • Juin 2018 : rachat par Microsoft
    Lausanne – 19/04/2022

    View full-size slide

  4. Repository
    Cloud
    Repository
    Self hosted
    OU
    Hébergement
    Github Entreprise Cloud Github Entreprise Server
    Lausanne – 19/04/2022

    View full-size slide

  5. Web
    Desktop
    CLI
    Mobile
    Client
    Lausanne – 19/04/2022

    View full-size slide

  6. Github propose toutes les fonctionnalités basiques d’une plateforme de
    gestion de repositories :
    • Gestion du code source
    • Gestion des tickets
    • CI/CD
    • Gestion de projet
    • Wiki
    • Extension de la plateforme via une marketplace
    • ...
    Tour d’horizon
    Lausanne – 19/04/2022

    View full-size slide

  7. Démo
    Tour d’horizon
    Lausanne – 19/04/2022

    View full-size slide

  8. • Depuis mai 2019, facilite la
    contribution à l’open-source
    • Nouveau : Sponsors-only
    repositories, …
    Github Sponsor
    Lausanne – 19/04/2022

    View full-size slide

  9. • Discussions annexes aux
    tickets du projet :
    • Idées d’amélioration
    • Annonce autour du projet
    • …
    • Génère des évenements
    utilisable dans des Github
    Actions (beta)
    • Organization Discussions
    depuis le 12 avril
    Discussions
    Lausanne – 19/04/2022

    View full-size slide

  10. • Refonte de la partie gestion
    de projet
    • Annoncé en juin 2021,
    actuellement en beta public
    Project Board
    Lausanne – 19/04/2022

    View full-size slide

  11. Démo
    Project board
    Lausanne – 19/04/2022

    View full-size slide

  12. • Procédure d’automatisation
    • Permet de mettre en place la CI/CD
    • Pipeline as code (YAML)
    Actions
    Lausanne – 19/04/2022

    View full-size slide

  13. • Tâches stand alone packagées
    Actions
    Lausanne – 19/04/2022

    View full-size slide

  14. • Permet d’avoir un annuaire privé de package
    • Gère plusieurs types de packages :
    • NPM (Javascript)
    • Maven (Java)
    • Gem (Ruby)
    • Nuget (C#)
    • Docker
    • Utilisable avec les Github Actions
    Packages
    Lausanne – 19/04/2022

    View full-size slide

  15. Démo
    Github Action
    Lausanne – 19/04/2022

    View full-size slide

  16. Communauté axée sur la sécurité et drivée par Github
    Security Lab
    Lausanne – 19/04/2022

    View full-size slide

  17. • Security policy : indique les versions maintenues et surtout comment reporter
    des failles de sécurité sur ce repository
    • Security advisories : permet de remonter une alerte de sécurité sur le
    repository puis de choisir comment la traiter et l'annoncer
    • Code Scanning alerts : remonte des alertes de sécurité depuis la CI
    Sécurité
    Lausanne – 19/04/2022

    View full-size slide

  18. • Bot qui permet de garder ses dépendances à jour
    • Remonte des alertes de sécurité liées aux dépendances non mise à jour
    • Racheté par Github
    • Intégré directement à Github
    Dependabot
    Lausanne – 19/04/2022

    View full-size slide

  19. • Intégration d’outils DevSecOps dans son pipeline
    • Chaque push déclenche automatiquement des analyses de sécurité sur le
    code pushé :
    • Respect des normes de sécurité sur le langage ciblé
    • Pas de secrets en dur dans le code
    • …
    Scan de code
    Lausanne – 19/04/2022

    View full-size slide

  20. • Base de données des CVE/GHSA
    • Permet de parcourir/chercher l’ensemble des vulnérabilités connues et reporté
    es sur Github
    • https://github.com/advisories
    • Accepte les contributions de la communauté depuis février 2022
    Advisory Database
    Lausanne – 19/04/2022

    View full-size slide

  21. Démo
    Github & Security
    Lausanne – 19/04/2022

    View full-size slide

  22. • La roadmap de Github est publique
    • https://github.com/github/roadmap/projects/1
    Roadmap
    Lausanne – 19/04/2022

    View full-size slide

  23. Side-project : Princing Simulator
    Lausanne – 19/04/2022

    View full-size slide

  24. Side-project : Learning Lab
    Lausanne – 19/04/2022

    View full-size slide

  25. Side-project : Codespaces
    Lausanne – 19/04/2022

    View full-size slide

  26. Side-project : Copilot
    Lausanne – 19/04/2022

    View full-size slide

  27. Side-project : Code Search
    Lausanne – 19/04/2022

    View full-size slide

  28. Conclusion
    Lausanne – 19/04/2022

    View full-size slide

  29. Questions ?
    Lausanne – 19/04/2022

    View full-size slide

  30. Thanks ☺
    Lausanne – 19/04/2022

    View full-size slide