Slide 1

Slide 1 text

Github Tour d’horizon de la plateforme Nice – 08/10/2020 Sylvain Pontoreau Felix Billon

Slide 2

Slide 2 text

Vos speakers pour cette session ! Nice – 08/10/2020 Sylvain Pontoreau Felix Billon

Slide 3

Slide 3 text

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 Nice – 08/10/2020

Slide 4

Slide 4 text

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 • ... Fonctionnalités de bases Nice – 08/10/2020

Slide 5

Slide 5 text

Démo Fonctionnalités de base Nice – 08/10/2020

Slide 6

Slide 6 text

Repository https://github.com Repository Github Entreprise Server OU Nice – 08/10/2020 Hébergement

Slide 7

Slide 7 text

Web Desktop CLI Mobile Nice – 08/10/2020 Client

Slide 8

Slide 8 text

• Un Gist est un repository contenant un ou plusieurs snippets de code • Public ou privé • https://gist.github.com/ Nice – 08/10/2020 Gist

Slide 9

Slide 9 text

• Discussions annexes aux tickets du projet : • Idées d’amélioration • Annonce autour du projet • Brainstorming • … • Annoncé en mai 2020, actuellement en beta privée Nice – 08/10/2020 Discussions

Slide 10

Slide 10 text

• Annoncé en juillet 2020 la roadmap de Github est désormais publique • https://github.com/github/roadmap/projects/1 Nice – 08/10/2020 Roadmap

Slide 11

Slide 11 text

• Procédure d’automatisation • Permet de mettre en place la CI/CD • Pipeline as code (YAML) Nice – 08/10/2020 Workflow

Slide 12

Slide 12 text

• Tâches stand alone packagées Nice – 08/10/2020 Actions

Slide 13

Slide 13 text

Démo Github Action Nice – 08/10/2020

Slide 14

Slide 14 text

• Permet d’avoir un annuaire privé de package • Gère plusieurs types de packages : • NPM (Javascript) • Maven (Java) • Gem (Ruby) • Nuget (C#) • Utilisable avec les Github Actions Nice – 08/10/2020 Packages

Slide 15

Slide 15 text

• Github package supporte désormais la gestion des images docker. • Gratuit pour les images publiques • En beta depuis septembre 2020 Nice – 08/10/2020 Container Registry

Slide 16

Slide 16 text

• 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 Nice – 08/10/2020 Sécurité

Slide 17

Slide 17 text

Démo Github & Security Nice – 08/10/2020

Slide 18

Slide 18 text

Communauté axée sur la sécurité et drivée par Github Nice – 08/10/2020 Security Lab

Slide 19

Slide 19 text

• 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 Nice – 08/10/2020 Advisory Database

Slide 20

Slide 20 text

• Bot qui permet de garder ses dépendances à jour • Remonte des alertes de sécurité liées aux dépendances non mise à jour • Racheté récemment par Github • Bientôt intégré directement à Github (actuellement en preview via Marketplace) Nice – 08/10/2020 Dependabot

Slide 21

Slide 21 text

• 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 • … • GA depuis 30 septembre Nice – 08/10/2020 Scan de code

Slide 22

Slide 22 text

• Environnement de développement hébergé sur le cloud • Permet de partager un environnement de développement préconfiguré • Annoncé en mai 2020, actuellement en beta privée Nice – 08/10/2020 Codespaces

Slide 23

Slide 23 text

Démo Github Codespaces Nice – 08/10/2020

Slide 24

Slide 24 text

Conclusion Nice – 08/10/2020

Slide 25

Slide 25 text

Questions ? Nice – 08/10/2020

Slide 26

Slide 26 text

Thanks J Nice – 08/10/2020