chore(content): Add chapter about working situations.
This commit is contained in:
parent
71af789d1c
commit
04422296bd
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user