From 41ab64640fb68dc466606dc68642f8dee491d1d1 Mon Sep 17 00:00:00 2001 From: soufiane Date: Tue, 18 Nov 2025 16:08:19 +0100 Subject: [PATCH] fix: simplify Jenkins triggers to use only pollSCM + add setup docs --- JENKINS_AUTO_TRIGGER_SETUP.md | 95 +++++++++++++++++++++++++++++++++++ Jenkinsfile | 13 ----- 2 files changed, 95 insertions(+), 13 deletions(-) create mode 100644 JENKINS_AUTO_TRIGGER_SETUP.md diff --git a/JENKINS_AUTO_TRIGGER_SETUP.md b/JENKINS_AUTO_TRIGGER_SETUP.md new file mode 100644 index 0000000..bd83209 --- /dev/null +++ b/JENKINS_AUTO_TRIGGER_SETUP.md @@ -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 diff --git a/Jenkinsfile b/Jenkinsfile index fc02fee..20c69a9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -5,19 +5,6 @@ pipeline { triggers { // Vérifie les changements toutes les minutes (polling SCM) 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 {