Vous versionnez déjà votre bot sur GitHub et aimeriez le mettre en ligne directement depuis votre dépôt ? Déployer un bot Discord depuis GitHub fluidifie chaque mise à jour. Ce tutoriel vous montre comment faire, proprement et en sécurité.
Pourquoi passer par GitHub
Déployer un bot Discord depuis GitHub change votre façon de travailler. Au lieu de transférer des fichiers à la main à chaque modification, vous poussez votre code sur le dépôt, et le serveur récupère la dernière version.
Les bénéfices sont concrets :
- Historique complet : chaque changement est versionné, vous pouvez revenir en arrière.
- Mises à jour simples : un
git pullsuffit pour déployer la nouvelle version. - Sauvegarde : votre code est à l’abri, même en cas de problème serveur.
- Collaboration : plusieurs personnes peuvent contribuer proprement.
C’est la méthode de référence pour un bot que vous comptez faire évoluer.
Préparer votre dépôt proprement
Avant de déployer, votre dépôt doit être bien rangé. Le point le plus important : ne jamais y stocker votre token ni vos secrets.
Créez un fichier .gitignore à la racine :
.env
node_modules/
venv/
__pycache__/
*.log
Votre dépôt doit contenir le code et la liste des dépendances (requirements.txt en Python, package.json en Node.js), mais pas les fichiers sensibles ni les bibliothèques installées.
Bon à savoir : si un token a déjà été poussé sur GitHub, considérez-le comme compromis. Régénérez-le immédiatement depuis le Developer Portal : le retirer d'un commit ne suffit pas, il reste dans l'historique.
Cloner le bot sur le serveur
Une fois votre dépôt prêt et votre hébergement disponible, connectez-vous au serveur en SSH et récupérez le code. La marche à suivre est la même quel que soit le langage.
git clone https://github.com/votre-compte/mon-bot.git
cd mon-bot
Installez ensuite les dépendances selon votre stack :
# Python
pip install -r requirements.txt
# Node.js
npm install
Il ne reste plus qu’à fournir les secrets, que vous n’avez justement pas poussés sur GitHub.
Gérer les secrets en sécurité
Comme votre .env est exclu du dépôt, vous devez le recréer directement sur le serveur. C’est la bonne pratique : les secrets vivent sur la machine, jamais dans le code partagé.
nano .env
Ajoutez-y votre token et vos clés :
DISCORD_TOKEN=votre_token_ici
Ainsi, votre dépôt GitHub peut rester public sans aucun risque, et chaque environnement (test, production) garde ses propres identifiants.
Lancer et automatiser les mises à jour
Pour que le bot tourne en continu, lancez-le via un gestionnaire de processus qui le relance après un crash ou un redémarrage serveur.
pm2 start index.js --name mon-bot # Node.js
pm2 save
Pour déployer une nouvelle version, le cycle devient très court :
git pull
pm2 restart mon-bot
Vous pouvez aller plus loin avec un webhook ou une GitHub Action qui déclenche le git pull automatiquement à chaque push. Sur un hébergement de bot Discord prévu pour cela, ce flux de déploiement est simple à mettre en place, et le bot reste en ligne 24h/24 avec redémarrage automatique.
Automatiser avec une GitHub Action
Pour éviter de vous connecter en SSH à chaque mise à jour, une GitHub Action peut déployer automatiquement votre bot dès qu’un commit arrive sur la branche principale. Le principe : l’action se connecte à votre serveur et y exécute les commandes de mise à jour.
name: Déploiement
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Déployer sur le serveur
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
cd mon-bot
git pull
npm install
pm2 restart mon-bot
Stockez vos identifiants de connexion dans les secrets du dépôt (onglet Settings > Secrets), jamais dans le fichier YAML. À chaque push, votre bot se met à jour seul.
Garder un environnement propre
Au fil des déploiements, quelques habitudes évitent les mauvaises surprises :
- Une branche stable : déployez depuis
main, développez sur des branches séparées. - Verrouillez les versions : committez
package-lock.jsonou figez vos versions Python pour des déploiements reproductibles. - Testez avant de pousser : un bot qui plante au démarrage reste hors ligne jusqu’à correction.
- Conservez les logs : ils sont votre première source d’information en cas de souci après une mise à jour.
Bon à savoir : gardez une stratégie de retour arrière. Avec Git, revenir à la version précédente est immédiat : git checkout <commit> puis un redémarrage, et votre bot retrouve son état stable.
En résumé
Déployer un bot Discord depuis GitHub repose sur quelques principes solides : un dépôt propre sans secrets, un clone sur le serveur, un .env recréé localement et un gestionnaire de processus pour la continuité. Une fois le flux en place, chaque mise à jour se résume à un push suivi d’un git pull. Vous gagnez en rapidité, en sécurité et en sérénité, pendant que votre bot reste joignable sans interruption.
