docs: add Discord notifications setup guide
All checks were successful
CI/CD Pipeline / Backend - Build, Test & Push (push) Successful in 2m41s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Successful in 11m38s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Successful in 1s
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Successful in 2s
All checks were successful
CI/CD Pipeline / Backend - Build, Test & Push (push) Successful in 2m41s
CI/CD Pipeline / Frontend - Build, Test & Push (push) Successful in 11m38s
CI/CD Pipeline / Integration Tests (push) Has been skipped
CI/CD Pipeline / Deployment Summary (push) Successful in 1s
CI/CD Pipeline / Discord Notification (Failure) (push) Has been skipped
CI/CD Pipeline / Discord Notification (Success) (push) Successful in 2s
Complete guide for configuring Discord webhooks to receive CI/CD notifications. Includes: - Step-by-step Discord webhook creation - Gitea secret configuration - Notification format examples - Customization options - Troubleshooting section - Security best practices 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
4125c9db18
commit
0ddd57c5b0
147
DISCORD_NOTIFICATIONS.md
Normal file
147
DISCORD_NOTIFICATIONS.md
Normal file
@ -0,0 +1,147 @@
|
||||
# Discord Notifications pour CI/CD
|
||||
|
||||
Ce document explique comment configurer les notifications Discord pour recevoir des alertes lors des builds CI/CD.
|
||||
|
||||
## Configuration Discord
|
||||
|
||||
### 1. Créer un Webhook Discord
|
||||
|
||||
1. Ouvrez Discord et allez dans le serveur où vous voulez recevoir les notifications
|
||||
2. Cliquez sur les paramètres du canal (roue dentée à côté du nom du canal)
|
||||
3. Allez dans **Intégrations** → **Webhooks**
|
||||
4. Cliquez sur **Nouveau Webhook**
|
||||
5. Donnez-lui un nom (ex: "Xpeditis CI/CD")
|
||||
6. Choisissez le canal de destination
|
||||
7. **Copiez l'URL du Webhook** (elle ressemble à `https://discord.com/api/webhooks/...`)
|
||||
|
||||
### 2. Configurer le Secret dans Gitea
|
||||
|
||||
1. Allez dans votre repository Gitea : `https://gitea.ops.xpeditis.com/David/xpeditis2.0`
|
||||
2. Cliquez sur **Settings** (Paramètres)
|
||||
3. Dans le menu latéral, cliquez sur **Secrets**
|
||||
4. Cliquez sur **Add Secret** (Ajouter un secret)
|
||||
5. Remplissez :
|
||||
- **Name** : `DISCORD_WEBHOOK_URL`
|
||||
- **Value** : Collez l'URL du webhook Discord copiée précédemment
|
||||
6. Cliquez sur **Add Secret**
|
||||
|
||||
### 3. Tester la Configuration
|
||||
|
||||
Pour tester que tout fonctionne :
|
||||
|
||||
1. Faites un commit et push sur la branche `preprod`
|
||||
2. La CI/CD va se déclencher automatiquement
|
||||
3. Vous devriez recevoir une notification Discord :
|
||||
- ✅ **Embed vert** si le build réussit
|
||||
- ❌ **Embed rouge** si le build échoue
|
||||
|
||||
## Format des Notifications
|
||||
|
||||
### Notification de Succès (Vert)
|
||||
|
||||
```
|
||||
✅ CI/CD Pipeline Success
|
||||
Deployment completed successfully!
|
||||
|
||||
Repository: David/xpeditis2.0
|
||||
Branch: preprod
|
||||
Commit: [abc1234...] (lien cliquable)
|
||||
Backend Image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-backend:preprod
|
||||
Frontend Image: rg.fr-par.scw.cloud/weworkstudio/xpeditis-frontend:preprod
|
||||
Workflow: [CI/CD Pipeline] (lien vers les logs)
|
||||
```
|
||||
|
||||
### Notification d'Échec (Rouge)
|
||||
|
||||
```
|
||||
❌ CI/CD Pipeline Failed
|
||||
Deployment failed! Check the logs for details.
|
||||
|
||||
Repository: David/xpeditis2.0
|
||||
Branch: preprod
|
||||
Commit: [abc1234...] (lien cliquable)
|
||||
Workflow: [CI/CD Pipeline] (lien vers les logs)
|
||||
```
|
||||
|
||||
## Informations Incluses
|
||||
|
||||
Chaque notification contient :
|
||||
|
||||
- **Repository** : Nom du dépôt Git
|
||||
- **Branch** : Branche où le build a été déclenché
|
||||
- **Commit** : SHA du commit avec lien vers le commit sur Gitea
|
||||
- **Backend/Frontend Images** : Noms complets des images Docker (succès uniquement)
|
||||
- **Workflow** : Lien direct vers les logs de la CI/CD pour débugger
|
||||
|
||||
## Personnalisation
|
||||
|
||||
Pour personnaliser les notifications, éditez le fichier `.github/workflows/ci.yml` :
|
||||
|
||||
### Changer la couleur des embeds
|
||||
|
||||
```yaml
|
||||
# Succès (vert)
|
||||
"color": 3066993
|
||||
|
||||
# Échec (rouge)
|
||||
"color": 15158332
|
||||
|
||||
# Autres couleurs disponibles :
|
||||
# Bleu : 3447003
|
||||
# Jaune : 16776960
|
||||
# Orange : 15105570
|
||||
```
|
||||
|
||||
### Ajouter des champs
|
||||
|
||||
Ajoutez de nouveaux champs dans le tableau `fields` :
|
||||
|
||||
```yaml
|
||||
{
|
||||
"name": "Nom du champ",
|
||||
"value": "Valeur du champ",
|
||||
"inline": true # true = affichage côte à côte
|
||||
}
|
||||
```
|
||||
|
||||
### Ajouter un thumbnail ou une image
|
||||
|
||||
```yaml
|
||||
"thumbnail": {
|
||||
"url": "https://example.com/image.png"
|
||||
},
|
||||
"image": {
|
||||
"url": "https://example.com/large-image.png"
|
||||
}
|
||||
```
|
||||
|
||||
## Dépannage
|
||||
|
||||
### Les notifications ne sont pas envoyées
|
||||
|
||||
1. Vérifiez que le secret `DISCORD_WEBHOOK_URL` est bien configuré dans Gitea
|
||||
2. Vérifiez que l'URL du webhook est correcte et commence par `https://discord.com/api/webhooks/`
|
||||
3. Vérifiez les logs de la CI/CD pour voir s'il y a une erreur dans le step "Send Discord notification"
|
||||
|
||||
### L'URL du webhook est invalide
|
||||
|
||||
- L'URL doit être complète : `https://discord.com/api/webhooks/ID/TOKEN`
|
||||
- Ne partagez JAMAIS cette URL publiquement (elle donne accès à votre canal Discord)
|
||||
|
||||
### Les embeds ne s'affichent pas correctement
|
||||
|
||||
- Vérifiez le format JSON dans le fichier `.github/workflows/ci.yml`
|
||||
- Testez votre JSON avec un outil comme https://leovoel.github.io/embed-visualizer/
|
||||
|
||||
## Sécurité
|
||||
|
||||
⚠️ **IMPORTANT** :
|
||||
- Ne commitez JAMAIS l'URL du webhook directement dans le code
|
||||
- Utilisez toujours le secret `DISCORD_WEBHOOK_URL`
|
||||
- Si vous pensez que l'URL a été compromise, régénérez-la dans Discord
|
||||
|
||||
## Documentation Discord
|
||||
|
||||
Pour plus d'informations sur les webhooks Discord :
|
||||
- [Guide officiel des webhooks Discord](https://discord.com/developers/docs/resources/webhook)
|
||||
- [Embed object structure](https://discord.com/developers/docs/resources/channel#embed-object)
|
||||
Loading…
Reference in New Issue
Block a user