fix: simplify Jenkins triggers to use only pollSCM + add setup docs

This commit is contained in:
soufiane 2025-11-18 16:08:19 +01:00
parent 9f18d44144
commit 41ab64640f
2 changed files with 95 additions and 13 deletions

View File

@ -0,0 +1,95 @@
# Configuration du Declenchement Automatique Jenkins
## Probleme Actuel
Le pipeline Jenkins ne se lance pas automatiquement apres un push Git.
## Solutions Possibles
### Solution 1: Verifier le Plugin Generic Webhook Trigger
1. Aller dans Jenkins > Manage Jenkins > Manage Plugins
2. Chercher "Generic Webhook Trigger Plugin"
3. Si pas installe, l'installer et redemarrer Jenkins
### Solution 2: Configuration du Webhook dans Gitea
#### Etape 1: Creer le webhook dans Gitea
1. Aller sur https://gitea.wk-archi-o24a-15m-g3.fr/wkadmin/the-tip-top-frontend
2. Settings > Webhooks > Add Webhook > Gitea
3. Configurer:
- **Target URL**: `http://jenkins-url/generic-webhook-trigger/invoke?token=the-tip-top-frontend-token`
- **HTTP Method**: POST
- **POST Content Type**: application/json
- **Secret**: (laisser vide)
- **Trigger On**: Push events
- **Branch filter**: `dev` (ou `*` pour toutes les branches)
- **Active**: Coche
4. Cliquer sur "Add Webhook"
#### Etape 2: Tester le webhook
1. Faire un commit et push
2. Dans Gitea, aller dans Settings > Webhooks
3. Cliquer sur le webhook cree
4. Scroller vers le bas pour voir "Recent Deliveries"
5. Verifier que la reponse est 200 OK
### Solution 3: Verifier la Configuration SCM dans Jenkins
1. Aller dans le job Jenkins: `the-tip-top-frontend`
2. Configure > Build Triggers
3. Verifier que "Poll SCM" est coche avec: `* * * * *`
4. Verifier que "Generic Webhook Trigger" est configure
### Solution 4: Forcer un Scan Manuel (Temporaire)
En attendant que le webhook fonctionne:
1. Aller dans le job Jenkins
2. Cliquer sur "Build with Parameters"
3. Choisir ENV = dev
4. Cliquer sur "Build"
### Solution 5: Utiliser un Simple Webhook au lieu de Generic Webhook
Si le plugin Generic Webhook Trigger pose probleme, modifier le Jenkinsfile:
```groovy
triggers {
// Polling SCM toutes les minutes
pollSCM('* * * * *')
// OU utiliser le trigger Gitea (plus simple)
// Pas besoin de plugin supplementaire
}
properties([
pipelineTriggers([
[$class: 'GitHubPushTrigger']
])
])
```
Puis dans Gitea webhook, utiliser:
- **Target URL**: `http://jenkins-url/git/notifyCommit?url=https://gitea.wk-archi-o24a-15m-g3.fr/wkadmin/the-tip-top-frontend.git`
## Verification
Pour verifier que le trigger fonctionne:
1. Faire un petit changement (ex: ajouter un commentaire dans README.md)
2. Commit et push
3. Attendre 1 minute maximum
4. Verifier dans Jenkins si un nouveau build demarre
## Logs de Debug
Si le probleme persiste, verifier les logs Jenkins:
1. Jenkins > Manage Jenkins > System Log
2. Chercher les erreurs liees a "SCM" ou "webhook"
## Contact
Si aucune solution ne fonctionne:
- Verifier que Jenkins a acces au repo Git (credentials)
- Verifier les firewalls entre Gitea et Jenkins
- Verifier que l'URL du webhook est accessible depuis Gitea

13
Jenkinsfile vendored
View File

@ -5,19 +5,6 @@ pipeline {
triggers { triggers {
// Vérifie les changements toutes les minutes (polling SCM) // Vérifie les changements toutes les minutes (polling SCM)
pollSCM('* * * * *') pollSCM('* * * * *')
// Ou utiliser un webhook Gitea (recommandé)
// Le webhook doit être configuré dans Gitea pour pointer vers:
// http://jenkins-url/gitea-webhook/post
GenericTrigger(
genericVariables: [
[key: 'ref', value: '$.ref']
],
causeString: 'Triggered by Gitea push',
token: 'the-tip-top-frontend-token',
printContributedVariables: true,
printPostContent: true
)
} }
parameters { parameters {