Examen_DevOps
Examen_DevOps
Examen_DevOps
1
b. kubectl apply
c. kubectl deploy
d. kubectl run
9. Quelle pratique DevOps met l'accent sur la collaboration continue entre les équipes de
développement et d'exploitation?
a. Déploiement continu (CD)
b. Intégration continue (CI)
c. Infrastructure as Code (IaC)
d. Culture DevOps
10. Quel est l'objectif principal de la pratique "Infrastructure as Code" (IaC)?
a. Automatiser le déploiement de l'infrastructure
b. Standardiser les configurations d'infrastructure
c. Surveiller en temps réel les ressources d'infrastructure
d. Documenter manuellement l'infrastructure
11. Quel composant de Kubernetes est responsable de l'équilibrage de charge entre les
différents pods d'une application?
a. Ingress
b. Service
c. Deployment
d. Pod
12. Quel élément de GitLab est utilisé pour automatiser les tests, les builds et les
déploiements?
a. Runners
b. Pipelines
c. Jobs
d. Tags
13. Quelle commande Git est utilisée pour cloner un référentiel distant sur votre machine
locale?
a. git push
b. git clone
c. git fetch
d. git pull
14. Quelle commande Git est utilisée pour ajouter des fichiers modifiés à la zone de
staging?
a. git add
b. git commit
c. git push
d. git checkout
15. Quelle commande Git est utilisée pour fusionner une branche dans la branche actuelle?
a. git merge
b. b) git branch
c. c) git checkout
d. d) git pull
16. Quelle commande Git est utilisée pour voir les modifications apportées à un fichier
avant de les valider?
a. git status
b. git diff
c. git commit
d. git add
2
Nom: ……………………….. Prénom: ……………………….. Classe :...............................
Partie 1: QCM
Question 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Réponse
La société TechAI sollicite l'aide de Laratech, une entreprise spécialisée dans le développement
logiciel et adapte de la méthodologie DevOps, pour améliorer l'expérience utilisateur de son
application de gestion de projet. TechAI vise à moderniser l'interface graphique de son Site Web
afin d'offrir une solution plus conviviale et efficiente à ses utilisateurs.
1. Soit la liste suivante des étapes du cycle DevOps, numéroter chacune d’entre elle.
(...) Build - ( ...) Continuous feedback - (...) Continuous Integration (...) Deploy –
(...) Operate – (...) Plan
2. L’équipe de développement travaille sur gitlab pour la gestion du code du projet. Et ils
ont mis le fichier Docker Compose suivant:
version: '3'
services:
web: …………………………………………………………………………………………………………………….
app: ………………………………………………………………………………………………………………………………………………
build: . ……………………………………………………………………………………………………………………………..
command: python app.py
volumes:
- .:/app ………………………………………………………………………………………………………………………..
ports:
- "5000:5000" …………………………………………………………………………………………………………….
Donner une explication de chaque ligne du fichier ci-dessus sans oublier de spécifier la différence
entre chacun des deux ports à chaque fois. Expliquer quels sont les services configurés par ce
fichier.
........................................................................................................................................................
.........................................................................................................................................................
3
3. Complétez ce fichier YAML pour déployer trois répliques de l'application "myapp" avec
l'image Docker "myapp:latest" et exposer le port 8080.
apiVersion: ………………………………………………………
kind: ………………………………………………………………………
metadata:
name: myapp-deployment
spec:
………………….: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
ports:
- …………………………………..: 8080
stages:
- build
- test
- deploy
variables:
IMAGE_TAG: "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
………………………………………………………………………………………………………………………………………………………………………………………………………………….
build:
stage: build
script:
- docker build -t $CI_REGISTRY_IMAGE .
- docker push $CI_REGISTRY_IMAGE
………………………………………………………………………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………………………………………………………………………….
test:
stage: test
script:
- docker-compose up -d
- docker-compose exec app python manage.py test
………………………………………………………………………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………………………………………………………………………….
deploy:
stage: deploy
script:
- kubectl apply -f deployment.yaml
………………………………………………………………………………………………………………………………………………………………………………………………………………….
………………………………………………………………………………………………………………………………………………………………………………………………………………….
4