ajout doc

This commit is contained in:
Matthieu Lamalle 2024-03-29 11:17:53 +01:00
parent 4e99d5cb16
commit 46e7ece84a
2 changed files with 86 additions and 0 deletions

10
doc/mesproject.md Normal file
View File

@ -0,0 +1,10 @@
# Mse Project
## Evénements et triggers
Lors de l'émission d'un événement par Gitea, selon la nature de l'événement, les pipelines `symfonycheck` ou `buildimage` seront déclenchés.
- Pull request créé, ou push sur une pull request : `symfonycheck`
- merge d'une PR : `buildimage`

76
doc/tekton.md Normal file
View File

@ -0,0 +1,76 @@
# Tekton CI
## Webhook, Événements et Triggers
Un webhook Gitea configuré, envoi des événements sur un endpoint défini par en `EventListener`.
Cet `EventListener`, selon les filtres et overlays définis, peut alors déclencher des `TriggerTemplates` (configuré selon un `TriggerBinding`), qui alors configurerons a leur tour des `PipelineRun`, qui exécuterons des `Pipelines`, qui configurerons des `TaskRun`, qui alors exécuterons des `Task`.
```mermaid
flowchart LR
A[Webhook Event] --> B(EventListener
filter et overlays)
B --> D(Pipeline Binding)
B --> E(Pipeline Template)
D --> E
E --> F(PipelineRun)
F --> G(Pipeline)
```
Les `Webhooks`, événements et triggers dans Tekton CI permettent de déclencher des actions automatisées en réponse à des événements spécifiques dans un système de gestion de code source.
### Filter et overlay
Le `filter` permet de déclencher les Triggers pour les événements répondant au critère du filtre
Les `overlays` permettent de récupérer une valeur de la requête pour la passer en paramètre
### Workspaces
Les workspaces sont des volumes qui sont monté à la demande dans les conteneurs des différentes `Task` dans le répertoire `/workspace`.
### Exemples
- [EventListener MSE](kustomization/base/tekton/event/mseproject.yaml)
- [TriggerBinding MSE](kustomization/base/tekton/event/msebuild-binding.yaml)
- [TriggerTemplate MSE](kustomization/base/tekton/event/msebuild-template.yaml)
## Pipelines
Les `Pipeline` dans Tekton CI décrivent une série d'étapes ou de tâches à exécuter pour automatiser un processus de déploiement ou de test logiciel.
Un `PipelineRun` permet d'exécuter un `Pipeline` en lui donnant des paramètres
L'option `runAfter:` permet de définir si une `Task` doit s'exécuter une fois qu'une autre Task est terminé. Si `runAfter` n'est par défini, la `Task` sera exécuté en parallèle
```mermaid
flowchart LR
G(PipelineRun) --> H(Pipeline)
H --> I(TaskRun)
I --> J(Task)
```
### Exemples
- [SymfonyCheck](../kustomization/base/tekton/pipeline/symfonycheck.yaml)
## Tasks
Les `Task` dans Tekton CI représentent des actions individuelles à effectuer dans un pipeline. Elles peuvent inclure des opérations telles que la construction, le déploiement, les tests, etc.
Une `TaskRun` permet d'exécuter une `Task` en lui donnant des paramètres.
Les `Task` vont alors enchainer les différentes steps.
Les `Task` peuvent émettre des résultats, qui seront alors accessible par d'autres `Task`
L'option `OnError` permet de déclencher un évenement à la suite d'une erreur d'une `step`.
On peut alors s'en servir pour passer à la st`ep suivante, sans bloquer l'exécution de la `Task`.
### Exemple
- [ImageFormater](kustomization/base/tekton/task/common/imageformater.yaml)