the-tip-top-backend/JENKINS_AUTO_TRIGGER_SETUP.md

2.8 KiB

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-backend

  2. Settings > Webhooks > Add Webhook > Gitea

  3. Configurer:

    • Target URL: http://jenkins-url/generic-webhook-trigger/invoke?token=the-tip-top-backend-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-backend
  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:

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-backend.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