77 lines
2.8 KiB
Markdown
77 lines
2.8 KiB
Markdown
|
# 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)
|
||
|
|
||
|
|
||
|
|