RunDeck est un outil d’automatisation de l’administration de serveurs : en deux mots, il vous permet de définir des tâches qui seront exécutées sur plusieurs machines distantes via SSH.
Écrit en Java, il dispose de deux interfaces : une [CLI] et une interface Web (via une application grails) qui dispose d’une API REST.
Et, bien sûr, RunDeck est libre (licence Apache v2).
Quelques fonctionnalités :
- CLI et interface Web ;
- les tâches sont composées d’une ou plusieurs étapes : des commandes distantes, des scripts, ou des références à d’autres tâches ;
- les tâches peuvent avoir des options (qui peuvent venir de systèmes extérieurs), avec validation au moment de l’exécution ;
- les tâches sont organisées par groupes et par projets ;
- les tâches peuvent être programmées pour s’exécuter à intervalles réguliers, ou à une heure précise (syntaxe cron) ;
- il y a un système de notification par e-mail en cas de succès et / ou d’échec d’une tâche ;
- la connexion aux serveurs se fait par SSH avec une clé (la liste des serveurs peut être récupérée depuis un système extérieur) ;
- pas besoin d’installer d’agent sur les serveurs (un serveur SSH suffit) ;
- authentification (interne ou LDAP), et support d’ACL pour restreindre les actions des utilisateurs ;
- historique complet des tâches executées (qui, quoi, quand)
Les nouveautés de la version 1.2, sortie le 16 mars dernier :
- l’API REST, qui permet de demander l’exécution de tâches via d’autres outils ;
- support du format YAML, en plus du XML, pour définir les tâches, les ACL et les ressources ;
- le support des options multiples.
Historique
Même si RunDeck est un projet « jeune » (quelques mois), il vient avec un existant : ControlTier. En effet, les développeurs de ControlTier ont décidé de faire un « fork amical », afin de repartir sur une base plus saine : simplification de la construction du projet, connexion directe en SSH au lieu d’utiliser des agents, workflow simplifié, etc. RunDeck conserve une partie du code (notamment l’interface graphique) et des concepts de ControlTier, et si le projet fonctionne bien, il est envisagé de récrire ControlTier en se basant sur RunDeck pour la partie centrale. Bref, on peut voir RunDeck comme une version simplifiée de ControlTier.
Utilisation
RunDeck peut être utilisé pour automatiser des opérations habituelles, mais également pour fournir l’accès à d’autres équipes à des tâches habituellement réservées aux administrateurs systèmes. Une utilisation assez courante est le déploiement d’applications dans les différents environnements (développement, test et production).
Grâce à son interface Web, il est facile à prendre en main, et, avec la gestion de l’historique, on peut facilement savoir qui a fait quoi, et quand.
Enfin, à mon sens le gros point fort de RunDeck, ce sont ses possibilités d’extension : il existe déjà des greffons pour l’intégrer avec bon nombre d’outils, comme Puppet, Chef, Jenkins (ex-Hudson), Nexus, etc..
Installation
Le meilleur pour la fin : l’installation. Il existe un paquet RPM, et un paquet DEB est en cours de préparation. Mais il est extrêmement simple à installer :
java -jar rundeck-launcher-1.2.jar
Puis, ouvrez votre navigateur sur http://localhost:4440 (nom utilisateur / mot de passe par défaut : admin / admin). N’hésitez pas à prendre quelques minutes pour tester, vous ne le regretterez pas !
Aller plus loin
- Site officiel (1680 clics)
- Documentation complète avec captures d’écran (1538 clics)
- Code source (sur GitHub) (100 clics)
- Présentation RunDeck donnée lors d’une rencontre « Paris DevOps » (524 clics)
- L’annonce de la version 1.2 (72 clics)
# Jenkins (ex-Hudson)
Posté par cosmocat . Évalué à 2.
:) Un peu rapide comme enterrement... Il bouge encore et on ne sait pas quel sera le grand gagnant du fork.
[^] # Re: Jenkins (ex-Hudson)
Posté par GeneralZod . Évalué à 4.
La quasi-totalité des développeurs a rejoint Jenkins, c'est très vite vu ...
[^] # Re: Jenkins (ex-Hudson)
Posté par DLFP est mort . Évalué à 5.
En fait, ce n'est pas un fork, ou en tout cas, ce n'est pas présenté comme tel. C'est un changement de nom, car la marque Hudson est détenue par Oracle.
Mais ce qui est amusant, c'est que Oracle a ensuite décidé de continuer à développer Hudson. On peut donc considérer que Hudson est devenu Jenkins, et que Hudson est un fork de Jenkins !
DLFP >> PCInpact > Numerama >> LinuxFr.org
[^] # Re: Jenkins (ex-Hudson)
Posté par chimay . Évalué à 0.
un peu la même situation qu'avec libreoffice en somme
(jeudi c'est presque vendredi)
[^] # Re: Jenkins (ex-Hudson)
Posté par cosmocat . Évalué à 3.
Oh! Je le sais ; j'ai développé un plugin pour hudson et le jour où j'ai créé un compte sur GitHub, je me suis retrouvé uatomatiquement (et je sais pas comment, surtout que je suis plus actif sur le projet) inscrit au projet jenkins (et une personne que je connais et qui est dans le même cas également).
Y'a plus qu'à espérer que c'est pas le cas de tous les développeurs :)
[^] # Re: Jenkins (ex-Hudson)
Posté par barmic . Évalué à 4.
Je crois que l'explication de pankkake, explique ce qui s'est passé pour toi (et ton ami).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# Spring Batch
Posté par djano . Évalué à 1.
C'est marrant j'ai cru lire une description de Spring Batch :)
Bon c'est sur Spring Batch ne sert pas pour de l'administration, mais il sert pour du développement. Mais les points en commun sont nombreux. Il ne manque plus que RunDeck soit capable d’exécuter les taches en parallèle et alors la c'est bon, ce sera une copie conforme!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.