Contexte et Présentation
Dans l'écosystème DevOps, Jenkins demeure une solution standard, pourtant sa complexité de configuration et sa consommation de ressources peuvent s'avérer excessives pour des projets de taille intermédiaire. Jpom se distingue comme une alternative pertinente, développée en Java, proposant une approche low-intrusion pour la construction, le déploiement et la surveillance d'applications.
Problématiques Ciblées
Cet outil répond spécifiquement aux défis suivants rencontrés lors du cycle de vie logiciel :
- Absence d'équipe opérationnelle dédiée, nécessitant une gestion manuelle par les développeurs.
- Variabilité des commandes de build et de déploiement selon les projets.
- Besoin de gérer simultanément plusieurs environnements (développement, recette, production).
- Surveillance centralisée de l'état de santé des services.
- Élimination de la dépendance aux clients SSH ou FTP externes pour les transferts de fichiers.
- Synchronisation simplifiée des identifiants sur un parc de serveurs hétérogène.
- Personnalisation de l'outil d'automatisation sans la lourdeur des solutions enterprise.
Fonctionnalités Principales
- Gestion de Cluster : Administration unifiée des nœuds pour la distribution rapide des artefacts.
- Cycle de Vie des Applications : Contrôle complet (création, start, stop) et visualisation des logs console en temps réel.
- Terminal SSH Intégré : Exécution de commandes à distance via le navigateur avec historisation des actions.
- Construction En Ligne : Récupération automatique depuis les dépôts GIT ou SVN, supprimant l'upload manuel.
- Automatisation de Scripts : Planification de tâches, exécution via webhooks et gestion des logs.
- Administration Docker : Interface graphique pour la gestion des images, conteneurs et clusters Swarm.
- Gestion des Utilisateurs : Implémentation RBAC pour des permissions granulaires et audit des opérations.
- Monitoring et Alerting : Détection d'anomalies avec notifications automatiques (email, messagerie instantanée).
- Configuraton Réseau : Édition simplifiée des fichiers NGINX et gestion centralisée des certificats SSL.
Installation et Configuration
L'installation recommandée utilise un script automatisé qui configure le service pour un lancement au démarrage du système. Le répertoire d'installation par défaut est /usr/local/jpom-server.
# Exécution du script d'installation automatique
INSTALL_URL="https://jpom.top/docs/install.sh"
curl -fsSL "${INSTALL_URL}" | bash -s Server jdk+default+service
Une fois le déploiement effectué, le service peut être administré via les commandes système suivantes :
SERVICE_ID="jpom-server"
# Initialisation du service
systemctl start ${SERVICE_ID}
# Arrêt du service
systemctl stop ${SERVICE_ID}
# Redémarrage du service
systemctl restart ${SERVICE_ID}
Par défaut, l'interface d'administration écoute sur le port 2122. L'accès s'effectue via http://127.0.0.1:2122/. Pour un accès distant, remplacez l'adressse locale par l'IP publique du serveur.
Si l'interface reste inaccessible, il est nécessaire de vérifier la configuration du pare-feu. Pour autoriser le trafic sur le port d'administration, exécutez :
PORT_ADMIN=2122
# Ajout permanent de la règle de pare-feu
firewall-cmd --add-port=${PORT_ADMIN}/tcp --permanent
# Application des modifications
firewall-cmd --reload
Notez que selon la distribution Linux, d'autres mécanismes comme Iptables ou SELinux peuvent interférer. Dans les environnements cloud, vérifiez également que les règles de sécurité du groupe (Security Groups) autorisent le port spécifié.
Ressources Officielles
- Dépôt Projet : https://gitee.com/dromara/Jpom
- Site Officiel : https://jpom.top/