CI/CD Flashcards

1
Q

Qu’est-ce que le devOps?

A

Le DevOps désigne un ensemble de processus visant à raccourcir le cycle de développement d’un système en assurant la livraison continue de logiciels de haute qualité.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qu’est-ce que le CI/CD?

A
  • CI est l’abréviation de Continuous Integration. Cette pratique regroupe les concepts d’ingénierie logicielle autour de l’automatisation de la construction et des tests du modèle, du contrôle de version et du release. Par release, nous entendons ici explicitement l’action de charger le code dans le dépôt GitHub correspondant.
  • CD est l’abréviation de Continuous Delivery ou Continuous deployment. Ce concept représente le déploiement continu du modèle, le formatage et la mise en place d’un environnement de type production pour permettre une intégration automatisée. Concernant l’application, l’étape CD comprend le test, le déploiement et la configuration automatisée de l’application.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce que github actions?

A

GitHub actions est un outil qui vous permet d’automatiser vos flux de travail de développement de logiciels. GitHub actions est l’outil le plus utilisé pour construire des pipelines CI/CD.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce qu’un évènement?

A

Disons que vous avez un référentiel GitHub et que, sur ce référentiel, un événement peut se produire ; par exemple, quelqu’un a chargé un script, une demande d’extraction a été ouverte, un problème a été créé ou fermé, etc.

Et ces choses sont appelées événements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est-ce qu’un workflow?

A

Et nous aimerions définir un flux de travail (ou workflow) lorsque ces événements se produisent. Un workflow peut contenir un ou plusieurs jobs (tâches) et chaque job s’exécute sur sa propre machine virtuelle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qu’est-ce qu’un runner?

A

Une machine virtuelle (VM) sera démarrée pour chaque job que nous avons dans notre workflow et cette VM peut être une machine Windows, Linux ou Mac OS. Nous pouvons définir le système d’exploitation directement dans le flux de travail. Pour chaque job, nous définissons un ensemble d’étapes et chaque étape doit effectuer une action. L’étape qui exécute ces jobs est appelée un Github runner.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Détailler un workflow de github action?

A

En bref, chaque flux de travail se compose de plusieurs concepts fondamentaux différents. Ceux-ci comprennent :

Les événements : Les événements sont des déclencheurs définis qui lancent un flux de travail. Ils peuvent être configurés pour s'exécuter sur des branches de codage spécifiques dans un dépôt donné sur GitHub.

Jobs : Les tâches sont un ensemble d'étapes qui s'exécutent sur le même exécutant. Chaque tâche s'exécute dans sa propre VM et en parallèle avec les autres tâches.

Steps : Les steps sont des tâches individuelles qui exécutent les commandes d'un job. Il peut s'agir d'une action ou d'une commande shell. Toutes les étapes d'un job s'exécutent sur le même runner.

Actions : Une action est une commande qui est exécutée sur un runner et l'élément central de GitHub Actions, qui porte son nom.

Runners : Un runner (coureur) est un serveur GitHub Actions. Il est à l'écoute des tâches disponibles, les exécute en parallèle et signale la progression, les journaux et les résultats. Chaque runner peut être hébergé par GitHub ou auto-hébergé sur un serveur localisé. Les runners hébergés par GitHub sont basés sur Ubuntu Linux, Windows et macOS.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qui est l’interpréteur de commande par défaut de github action?

A

C’est bash

How well did you know this?
1
Not at all
2
3
4
5
Perfectly