chore(content): Add chapter about working situations.

This commit is contained in:
Olivier DOSSMANN 2025-01-21 13:43:13 +01:00
parent 71af789d1c
commit 04422296bd
2 changed files with 53 additions and 6 deletions

View File

@ -4,17 +4,21 @@
Automatisation upstream -> charts -> infra avec GitlabCI Automatisation upstream -> charts -> infra avec GitlabCI
ATTENTION : c'est du CI/cd (continuous delivery) car intervention humaine entre staging et prod.
TODO : compléter TODO : compléter
* Présentation processus automatisation : pouvoir passer d'une nouvelle version de l'application au déploiement de l'infrastructure * Présentation processus automatisation : pouvoir passer d'une nouvelle version de l'application au déploiement de l'infrastructure
## Contexte ## Réalisation 1 : Livraison continue
### Contexte
* manque de ressources humaines (2 personnes sur 4 ne produisaient rien de concret et/ou utilisable) * manque de ressources humaines (2 personnes sur 4 ne produisaient rien de concret et/ou utilisable)
* ET de ressources de temps * ET de ressources de temps
* il a fallu imaginer une façon atypique de créer une chaîne de publication logicielle avec **l'existant** * il a fallu imaginer une façon atypique de créer une chaîne de publication logicielle avec **l'existant**
## Analyse ### Analyse
* 3 dépôts (donner schéma) * 3 dépôts (donner schéma)
* chacun 1 pipeline existant pour les tests * chacun 1 pipeline existant pour les tests
@ -22,7 +26,7 @@ TODO : compléter
* suivant quelle(s) règle(s) ? * suivant quelle(s) règle(s) ?
* (RAPPEL chap. précédent) : Échanges avec Maxime concernant la promotion logicielle * (RAPPEL chap. précédent) : Échanges avec Maxime concernant la promotion logicielle
## Solution ### Solution
* 2 règles : * 2 règles :
* code = tests * code = tests
@ -34,14 +38,48 @@ TODO : compléter
TODO : mettre le complet plutôt qu'un autre ? TODO : mettre le complet plutôt qu'un autre ?
## Limites ### Limites
* même tag sur tous les dépôts… que faire si on dérive/décalle les numéros de version ? * même tag sur tous les dépôts… que faire si on dérive/décalle les numéros de version ?
* plus on ajoute de dépôts, plus on devra modifier les pipelines pour qu'elles s'enchaînent => travail devient colossal * plus on ajoute de dépôts, plus on devra modifier les pipelines pour qu'elles s'enchaînent => travail devient colossal
## Amélioration(s) possibles(s) ### Amélioration(s) possibles(s)
* dépôt indépendants avec leur propre pipeline qui **teste** puis **publie** sur des **dépôts utilisables** * dépôt indépendants avec leur propre pipeline qui **teste** puis **publie** sur des **dépôts utilisables**
* un dépôt peut utiliser des lib en dépendances, en utilisant les dépôts précédemment complétés : avec des versions fixes ! * un dépôt peut utiliser des lib en dépendances, en utilisant les dépôts précédemment complétés : avec des versions fixes !
## Réalisation 2 : États Terraform
### Contexte
* États continuellement cassés par les collaborateurs
* Incompréhension/ignorance des collaborateurs sur le fonctionnement
### Analyse
* États sur Gitlab CI :
* gitlab-ci pour les pipelines de test
* staging pour l'env de pré-production
* prod pour l'env de prod
* Nécessité d'en avoir 1 par développeur
* Manque de documentation pour savoir comment procéder
* Trop d'erreurs manuelles dans l'utilisation des commandes Terraform
### Solution
* dossier scripts avec la plupart des commandes
* documentation
* ajout d'un Makefile utilisant les scripts
* préparation de fichiers pré-remplis
### Limites
* si modification à faire : doit être fait sur tous les dépôts
* si template évolue : les dépôts qui l'ont utilisé n'ont plus les mises à jour. On pourrait avec rebase, mais ça casserait l'historique de chacun des dépôts
### Pour aller plus loin
* Forme de dépendance des nouveaux dépôts à celui de template (avec une commande de mise à jour des fichiers par exemple)
* Possibilité de choisir/configurer Terraform ou OpenTofu
## Conclusion ## Conclusion

View File

@ -1,5 +1,14 @@
\newpage \newpage
# Mise en situation : TODO (compléter sujet) # Situation de travail : TODO (compléter sujet)
TODO : compléter par un sujet avec une mise en situation TODO : compléter par un sujet avec une mise en situation
Idées :
* promotion logicielle (mais énoncée déjà dans un autre chapitre)
* renseignements sur EKS sous AWS (antonputra, vidéos, tests, Terraform, etc.)
* gitlab-runner dans un Kubernetes maison pour avoir des runners ? => demande recherche, essais, mise en place, etc.
* autre ? (sujets à venir et renseignements courants ?)
* Terraform sur Gitlab CI (stockage sur un dépôt)
* Makefile pour Terraform avec repo template