Pipeline d'Integració Contínua MAT¶
Descripció General¶
Aquest pipeline Jenkins automatitza l'execució de proves funcionals integrat al Marc d'Automatització de Testing (MAT) del CTTI.
- Integració amb GitHub
- Sincronització amb JIRA
- Mètriques en temps real
- Quality Gates Integrats
Diagrama del Flux¶
%%{init: {'theme':'neutral'}}%%
sequenceDiagram
participant Jenkins
participant GitHub
participant Kubernetes
participant JIRA
participant InfluxDB
Jenkins->>GitHub: Clona repositori
GitHub-->>Jenkins: Codi font
Jenkins->>Kubernetes: Desplega Pod Maven
Kubernetes-->>Jenkins: Confirmació
Jenkins->>Jenkins: Executa proves Selenium
Jenkins->>JIRA: Puja resultats TestNG
Jenkins->>InfluxDB: Emmagatzema mètriques
Jenkins->>GitHub: Notifica PR
Paràmetres del Pipeline¶
| Paràmetre | Descripció | Valors Permesos |
|---|---|---|
REPO_URL |
Repositori de proves | URL GitHub vàlida |
ENV_TO_TEST |
Entorn de proves | Desenvolupament, Integració, Preproducció, Producció |
BRANCH |
Branca a provar | Nom de branca vàlid |
QUALITY_GATE |
Control de qualitat | true/false |
Etapes Principals¶
1. Pipeline¶
%%{init: {'theme':'neutral'}}%%
flowchart TD
A([Inici]) --> B[Validació Paràmetres]
B --> C[Checkout Codi]
C --> D[Validar Issue JIRA]
D --> E[Executar Proves Maven]
E --> F[Pujar Resultats JIRA]
F --> G[Publicar Informe HTML]
G --> H[Pujar Informe JIRA]
H --> I{{QUALITY_GATE?}}
I -->|Activat| J[Avaluar Umbral]
I -->|Desactivat| K[Saltar Control]
J --> L{Errors < UMBRAL?}
L -->|Sí| M[Notificar Èxit]
L -->|No| N[Aturar Pipeline]
K --> M
M --> O[Adjuntar MD a GitHub PR]
N --> O
O --> P([Fi])
classDef stage fill:#4CAF50,stroke:#388E3C,color:white;
classDef decision fill:#FFC107,stroke:#FFA000;
classDef error fill:#F44336,stroke:#D32F2F,color:white;
class A,B,C,D,E,F,G,H,J stage
class I,L decision
class N error
2. Execució de Proves¶
Tecnologies Utilitzades
- Selenium per a proves funcionals
- Maven com a gestor de dependències
- Extent per a informes executives
3. Gestió de Resultats¶
| Eina | Funció | Integració |
|---|---|---|
| JIRA | Pujada de resultats | Xray Test Management |
| GitHub | Vinculació a PRs | Comentaris automàtics |
| InfluxDB | Emmagatzematge mètriques | Grafana Dashboards |
4. Gestió de d'Errors¶
%%{init: {'theme':'neutral'}}%%
stateDiagram-v2
[*] --> Error
Error --> Notificació
Notificació --> JIRA: Crea incidència
Notificació --> Teams: Notifica equip
JIRA --> [*]
Teams --> [*]
5. Flux de Qualitat (Quality Gate)¶
%%{init: {'theme':'neutral'}}%%
flowchart LR
A[Resultats Proves] --> B{QUALITY_GATE?}
B -->|Activat| C[Verifica UMBRAL]
C --> D>20% errors permessos]
B -->|Desactivat| E[Ignora errors]
D --> F{Èxit?}
F -->|Sí| G[Continua]
F -->|No| H[Atura Pipeline]
6. Diagrama de Configuració del Entorn¶
%%{init: {'theme':'neutral'}}%%
flowchart LR
subgraph Kubernetes
A[Pod Template] --> B[Contenidor Maven]
B --> C[Persistent Volume]
C --> D[.m2/repository]
end
subgraph Config
E[Paràmetres] --> F[REPO_URL]
E --> G[ENV_TO_TEST]
E --> H[BRANCH]
end
Kubernetes --> Config
Qualitat i Seguretat¶
Control d'Errors
El pipeline inclou mecanismes avançats de gestió d'errors: - Validació de tickets JIRA - Avaluació de llindars d'error - Notificacions multi-canal
stateDiagram-v2
[] --> Error
Error --> Notificació: Envia alerta
Notificació --> JIRA: Crea incidència
Notificació --> Teams: Notifica equip
JIRA --> []
Teams --> [*]
