Correction exercice 1
git init
git add fichier.c
git commit -m "V1"
git switch -c develop
git add fichier.c
git commit -m "V2"
git switch master
git add fichier.c
git commit -m "V3"
git switch -c feature
git add fichier.c
git commit -m "V4"
git switch develop
git add fichier.c
git commit -m "V5"
git switch master
git merge develop
git switch feature
git add fichier.c
git commit -m "V6"
git switch master
git merge feature
git switch develop
git add fichier.c
git commit -m "V7"
git switch -c fix
git add fichier.c
git commit -m "V8"
git add fichier.c
git commit -m "V9"
git switch develop
git add fichier.c
git commit -m "V10"
git merge fix
git switch master
git merge develop
Exercice git stash
On suppose qu'on est à l'intérieur d'une branche 'develop' où on a des modifications courantes (pas complètes), puis on nous a contacté pour corriger un problème dans la branche 'master' sur le fichier "main.js".
On va corriger cela et reprendre nos modifs dans la suite.
Donner la séquence de commandes git à effectuer dans ce genre de situation :
# Sauvegarder les modifications en cours
git stash push
# Basculer sur la branche 'master'
git checkout master
# Corriger le fichier main.js
# (apporter les modifications nécessaires)
# Ajouter et committer la correction
git add main.js
git commit -m "Correction du bug sur main.js"
# Revenir sur la branche 'develop'
git checkout develop
# Récupérer les modifications sauvegardées
git stash pop
YAML
Convertir les données JSON suivantes vers YAML :
{
"hosts": "web servers",
"tasks": [
{
"name": "delete file",
"file": {
"path": "/var/www/html/index.html",
"state": "absent"
}
},
{
"name": "upload app",
"copy": {
"src": "index.html",
"dest": "/var/www/html",
"mode": 0777,
"notify": ["Restart"]
}
}
],
"handlers": [
{
"name": "Restart",
"service": {
"name": "apache2",
"state": "restarted"
}
}
]
}
La conversion en YAML donne :
hosts: web servers
tasks:
- name: delete file
file:
path: /var/www/html/index.html
state: absent
- name: upload app
copy:
src: index.html
dest: /var/www/html
mode: '0777'
notify:
- Restart
handlers:
- name: Restart
service:
name: apache2
state: restarted
Remarque : Pour les droits de fichier, '0777' est entre guillemets pour préserver la notation octale en YAML.
Un exemple de YML sur Ansible : Exemple de YML sur Ansible
Pour comprendre l'histoire de notation octale : Exemple de notation octale en YAML
Liste des modules pour Ansible qu'on utilisera pour les TPs :
Module apt :
- name: Installer des paquets
apt:
name:
- package1
- package2
- package3
update_cache: yes
Module service :
- name: Gérer un service
service:
name: nom_du_service
state: started
Module ping :
- name: Tester la connectivité
ping:
data: pong
Module shell :
- name: Exécuter une commande shell
shell: "votre_commande_ici"
register: result
Dans ces exemples, nous utilisons différents modules Ansible pour accomplir des tâches courantes. Assurez-vous de remplacer les valeurs de paramètre par celles qui conviennent à votre contexte.
Notes Complémentaires
Prise de notes sur les éléments non abordés ou mal expliqués dans le cours PDF.