fix: simplify Jenkins triggers to use only pollSCM + add setup docs
This commit is contained in:
parent
c0ad39dbe9
commit
c92d2c32e9
95
JENKINS_AUTO_TRIGGER_SETUP.md
Normal file
95
JENKINS_AUTO_TRIGGER_SETUP.md
Normal 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-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:
|
||||||
|
|
||||||
|
```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-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
|
||||||
13
Jenkinsfile
vendored
13
Jenkinsfile
vendored
|
|
@ -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/generic-webhook-trigger/invoke?token=the-tip-top-backend-token
|
|
||||||
GenericTrigger(
|
|
||||||
genericVariables: [
|
|
||||||
[key: 'ref', value: '$.ref']
|
|
||||||
],
|
|
||||||
causeString: 'Triggered by Gitea push',
|
|
||||||
token: 'the-tip-top-backend-token',
|
|
||||||
printContributedVariables: true,
|
|
||||||
printPostContent: true
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
parameters {
|
parameters {
|
||||||
|
|
|
||||||
1
package-lock.json
generated
1
package-lock.json
generated
|
|
@ -30,6 +30,7 @@
|
||||||
"zod": "^4.1.12"
|
"zod": "^4.1.12"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^9.39.0",
|
||||||
"eslint": "^9.39.0",
|
"eslint": "^9.39.0",
|
||||||
"jest": "^30.2.0",
|
"jest": "^30.2.0",
|
||||||
"nodemon": "^3.1.10",
|
"nodemon": "^3.1.10",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user