0% ont trouvé ce document utile (0 vote)
25 vues14 pages

2022 CI CD Slides

Le document présente le concept de CI/CD (Intégration Continue et Déploiement Continu) en utilisant GitLab CI pour automatiser la vérification et le déploiement du code. Il décrit également un projet pratique de création d'une calculatrice en ligne, en mettant l'accent sur l'importance des tests unitaires et de la méthodologie TDD. Enfin, il fournit des instructions pour travailler sur différentes branches et exécuter des pipelines CI/CD.

Transféré par

tuxvador
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues14 pages

2022 CI CD Slides

Le document présente le concept de CI/CD (Intégration Continue et Déploiement Continu) en utilisant GitLab CI pour automatiser la vérification et le déploiement du code. Il décrit également un projet pratique de création d'une calculatrice en ligne, en mettant l'accent sur l'importance des tests unitaires et de la méthodologie TDD. Enfin, il fournit des instructions pour travailler sur différentes branches et exécuter des pipelines CI/CD.

Transféré par

tuxvador
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CI/CD

Automatiser la vérification du code et son déploiement


CI/CD : signification

CI : Continuous Integration CD : Contiuous Deployement

2
GitLab CI et rappels sur Git
• Permet de travailler à plusieurs sur
le même code

• Intrinsèquement lié à git

• Exécution à chaque push, à chaque


modification sur le code distant

• GitLab comme serveur de stockage


du code : utilisation de gitlab-ci

3
CI/CD : Concept
À chaque push, exécuter un script en plusieurs étapes

4
CI/CD : Et moi qu'est-ce que je dois faire
.gitlab-ci.yml
Image utilisée

Déclaration des stages

Premier Job

Deuxième Job

5
CI/CD : Et concrètement, qu'est-ce qui se
passe ?

6
Le TP : une calculatrice en ligne
Que fait le programme:

• server.py -> s’occupe de la partie site web

• calculator.py -> le code qu’on va tester:


• tokenize: « 5 * 8 / 12 + 2 » -> [ 5, times, 8, divide, 12, plus, 2 ]
• parse: [5, times, 9, divide, 12, plus, 2] ->

• __call__: -> 5,75

7
Le TP : une calculatrice en ligne
Lien du TP : https://gitlab.viarezo.fr/ViaRezo/cicd

• Forker le projet

• Le mettre en public !

• Cloner son fork sur son pc

8
Le TP : Consulter ses pipelines
Partie 1 : CI pour du lint (20mn)
• Garder son code propre

• Se mettre sur la branche tp1 : git checkout tp1

• Lire le README et commencer !

• On fait d'abord la CI puis on lint

10
La méthodologie TDD
D’abord les tests ensuite le code ! Les tests unitaires

Présupposé : si ça marche pour


quelque cas -> ça marche pour tous
les cas

Pour chaque fonction/morceau de


code : on écrit un test avec quelques
cas

11
Fonctionnement de pytest
• Fonctionnement avec des assert

• Exécute les fonctions en test_* dans les fichiers en test_*.py

12
Partie 2 : CI pour du test (30mn)
• Garder son code fonctionnel

• On fonctionne en tests unitaires avec pytest

• Se mettre sur la branche tp2 : git checkout tp2

• Lire le README et commencer !

• On fait d'abord la CI puis on teste (puis on répare)

13
Partie 3 : CD pour du déploiement (30mn)

• Il vous faut une VM : url.viarezo.fr/paps-cicd

• Se mettre sur la branche tp3 : git checkout tp3

• Lire le README et commencer !

14

Vous aimerez peut-être aussi