Comment héberger Drone CI sur un VPS (Guide complet)
L’auto-hébergement des systèmes d’intégration et de livraison continue peut améliorer considérablement votre flux de travail de développement. Drone CI est un système CI open-source qui s’intègre parfaitement à votre dépôt et fournit une interface utilisateur intuitive pour gérer les builds. Dans ce guide, nous vous expliquerons le processus d’auto-hébergement de Drone CI sur un VPS.
Pourquoi utiliser un VPS pour Drone CI ?
Utiliser un VPS (Serveur Privé Virtuel) pour héberger Drone CI vous permet de garder un contrôle total sur votre environnement. Cela est crucial pour les développeurs qui souhaitent personnaliser leurs pipelines CI et garder des données sensibles sécurisées. Voici une petite comparaison de certains des meilleurs fournisseurs de VPS adaptés à l’hébergement de Drone CI.
| Fournisseur | Prix | Ressources | Idéal pour |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/mois | 4 Go RAM, 2 vCores | Utilisateurs budget |
| Hetzner Cloud | 4,15 EUR/mois | 2 Go RAM, 1 vCore | Petits projets |
| DigitalOcean | 6 USD/mois | 1 Go RAM, 1 vCore | Startups |
| Vultr | 6 USD/mois | 1 Go RAM, 1 vCore | Flexibilité |
| Linode | 5 USD/mois | 1 Go RAM, 1 vCore | Débutants VPS |
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un VPS : Choisissez-en un parmi les options ci-dessus. Par exemple, Contabo ou Hetzner.
- Docker : Drone CI fonctionne dans un conteneur Docker.
- Nom de domaine (optionnel) : Pour accéder au serveur CI de manière visuelle et sécurisée.
- Accès à un dépôt GitHub ou équivalent si vous souhaitez configurer des webhooks.
Étape 1 : Configurer votre VPS
-
Connectez-vous à votre VPS : Utilisez SSH pour vous connecter à votre serveur.
ssh root@your-server-ip -
Mettez à jour le système :
apt-get update && apt-get upgrade -y -
Installez Docker et Docker Compose :
apt-get install -y docker.io docker-compose -
Vérifiez que Docker est installé correctement :
docker --version
Étape 2 : Installer Drone CI
-
Créez un répertoire pour Drone :
mkdir -p /opt/drone cd /opt/drone -
Créez un fichier
.env: Créez un nouveau fichier nommé.envdans le répertoire/opt/droneavec le contenu suivant :DRONE_GITEA_SERVER=https://your-gitea-server.com DRONE_RPC_SECRET=your-rpc-secret DRONE_SERVER_HOST=your-drone-domain.com DRONE_SERVER_PROTO=https -
Créez un fichier
docker-compose.yml:version: '3' services: drone-server: image: drone/drone:latest ports: - 80:80 environment: - DRONE_GITEA_SERVER=https://your-gitea-server.com - DRONE_RPC_SECRET=${DRONE_RPC_SECRET} - DRONE_SERVER_HOST=${DRONE_SERVER_HOST} - DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} volumes: - drone-data:/data volumes: drone-data: -
Lancez Drone : Exécutez la commande suivante pour démarrer le serveur Drone :
docker-compose up -d
Étape 3 : Configurer Drone CI
-
Accédez à Drone : Ouvrez votre navigateur et allez sur
http://your-drone-domain.com. Vous devriez voir l’écran de connexion de Drone CI. -
Connectez-vous avec votre compte de dépôt : Connectez votre service Git.
-
Configurez votre dépôt : Une fois connecté, vous pouvez configurer les dépôts que vous souhaitez automatiser avec Drone.
-
Créez un fichier
.drone.ymldans votre dépôt : Ce fichier contient la configuration du pipeline.
Questions Fréquemment Posées
Quelles sont les exigences de stockage pour Drone CI ?
Drone CI lui-même ne nécessite pas beaucoup d’espace de stockage. La recommandation minimale est de 1 Go, ce qui est suffisant pour les journaux et les fichiers de configuration. Cependant, en fonction de la taille de votre codebase et du nombre de builds, vous devrez peut-être envisager une taille de disque plus grande. De plus, une utilisation prolongée générera plus de données ; il est donc essentiel de surveiller régulièrement le stockage. Utilisez les options de gestion des volumes dans Docker pour optimiser l’utilisation du stockage.
Puis-je intégrer Drone CI avec GitHub ou GitLab ?
Oui, Drone CI prend en charge l’intégration avec divers services d’hébergement de dépôts, y compris GitHub, GitLab, Bitbucket et Gitea. Pour configurer, rendez-vous sur la page de configuration de Drone après vous être connecté et sélectionnez votre service Git souhaité. Assurez-vous d’avoir les permissions nécessaires sur vos dépôts pour permettre à Drone de créer des webhooks et d’accéder aux dépôts.
Comment puis-je faire évoluer mon installation Drone CI ?
Pour faire évoluer votre installation Drone CI, vous pouvez exécuter plusieurs instances du serveur Drone derrière un équilibreur de charge. Cette configuration garantit de meilleures performances en cas d’utilisation intensive. Ajustez le fichier docker-compose.yml pour l’évolutivité et envisagez d’utiliser une base de données PostgreSQL pour la persistance et le clustering. Consultez la documentation officielle de Drone ou des ressources communautaires comme r/selfhosted pour des stratégies avancées d’évolutivité.
Conclusion
L’auto-hébergement de Drone CI sur un VPS est un moyen puissant d’améliorer votre stratégie CI/CD. En suivant ce guide, vous avez mis en place un environnement fonctionnel adapté à vos besoins de développement. Pour plus de détails sur le choix des meilleurs fournisseurs de VPS pour votre projet, consultez notre comparaison complète des VPS.