Les avantages de docker
En quoi la CI securise l’intégrité du projet
On peut l’utiliser pour run des tests
Les étapes de a CI
À chaque intégration sur la branche principale, on doit contrôler la qualité
du code :
● compilation réussie
● tests réussis
● formatage conforme
● code validé (pull request approuvée)
DevOps ?
development, quality assurance, operations
VM VS Docker, docker ?
Nos applications sont exécutées dans un environnement défini, maîtrisé
et stable dans le temps :
● Indépendance des OS, parfait pour dev et prod
● Aucun dysfonctionnement lié aux MAJ système
● Maintenabilité renforcée
Images, container, volumes, Networks
Images Docker
Les images sont des exécutables, créées grâce à un Dockerfile
C’est l’équivalent d’une version donnée d’un logiciel
Containers Docker
Les containers sont des exécutions d’image
C’est l’équivalent de l’ouverture d’un logiciel
Volumes Docker
Les volumes sont des espaces de stockage
C’est l’équivalent d’une clé USB
Networks Docker
Les networks permettent l’interconnexion de containers
C’est l’équivalent d’un router
Zoom sur le build
Zoom sur le build
La construction d’une image est décrite dans un Dockerfile
Organisation en couches mises en cache et ré-utilisées
Héritage d’images pour ne pas réinventer la roue
À chaque changement, on reconstruit (live-reloading possible avec les volumes)
Le cache permet de compiler très rapidement à condition de bien s’organiser
package.json et npm i doivent être les premières couches
Enfin on exécute l’image ou on la pousse (DockerHub par exemple)