Webistrano: Net::SSH::AuthenticationFailed error

Si vous avez une erreur Net::SSH::AuthenticationFailed avec Webistrano (ou Capistrano), vous êtes peut-être en présence du bug de Net::SSH que je vais vous présenter. Avant, vérifiez ces points-ci:

  • Le nom du serveur (et l’IP qui va derrière) est bon.
  • Le nom d’utilisateur est bon.
  • Vous pouvez vous connecter à votre serveur en utilisant ssh user@server.example.com en tant que l’utilisateur qui exécute Webistrano (ie la configuration runner) ou bien l’utilisateur qui lance le cap.

Si vous pouvez vous connecter au serveur avec une paire de clé (ou un mot de passe) depuis votre runner, vous pouvez essayer ce correctif. Sinon, cherchez ailleurs, ça n’est sûrement pas la solution de votre problème. En fait, le problème vient de la librairie Net::SSH de Ruby, qui n’arrive pas à se connecter si on ne lui passe pas l’option de configuration auth_methods.

Pour tester

Pour être sur que le correctif que je vous propose résoudra votre problème, nous allons tester le déploiement en utilisant le fichier CAP directement. En fait, c’est le fichier que Webistrano génère pour que Capistrano déploie votre application.
Ainsi, dans Webistrano, cliquez sur le stage de votre projet, puis Export CAP file. Copiez le contenu de ce fichier dans le répertoire de travail du runner de votre stage. Pour moi, le runner est webistrano, le fichier sera donc ici: /home/webistrano/tmp/test-webistrano.cap.

Ajoutez à votre fichier cap la ligne de configuration suivante, avec la section “TEMPLATE TASKS”.

Note: si vous utilisez une autre méthode d’authentification, changez donc le nom… Vous pourrez trouver une liste exhaustive dans la documentation de Net::SSH.

Ensuite, testez le déploiement avec Capistrano, qui est dans le répertoire des librairies de Webistrano. Dans mon exemple, (où la racine de Webistrano est /home/webistrano), je lance le déploiement comme ceci:

Pour résoudre

Continue reading Webistrano: Net::SSH::AuthenticationFailed error

facebooktwittergoogle_plusredditpinterestlinkedinmail

Redmine (Ruby) `load_missing_constant': Object is not missing constant Issue! (ArgumentError)

Lors de l’installation conjointe de Webistrano (voir Installer Webistrano avec nginx et PostgreSQL sous Gentoo) et de Redmine (voir Installer Redmine avec PostgreSQL) sur un même serveur, Redmine m’as quelque peut surpris on me sortant cette erreur:

Après de nombreuses recherches, j’ai résolu le problème en ajoutant une petite ligne au fichier config/environnement.rb de Redmine:

Après la ligne suivante:

:)

facebooktwittergoogle_plusredditpinterestlinkedinmail

Installer Webistrano avec nginx et PostgreSQL sous Gentoo

Webistrano est une application Web développée en Ruby On Rails permettant le déploiement automatisé de vos applications, qu’elles soient Web ou non. Ainsi, via le front-end Web, vous n’aurez qu’à appuyer sur un bouton pour que Webistrano récupère vos sources depuis un dépôt (svn, git, …) et depuis un répertoire et le déploie sur votre ferme de serveurs, en lançant par exemple les différents tests que vous aurez effectués. Si une erreur apparaît, Webistrano annule tous les changements et laisse l’application fonctionnelle comme elle l’était.

Pour installer Webistrano, vous avez besoin de Ruby On Rails, d’un serveur Web et d’une base de données. Je vais utiliser nginx comme serveur Web et PostgreSQL comme base de données. Je ne vais pas vous expliquer comment installer nginx et PostgreSQL, il y a déjà de très bons articles qui vous l’expliquent.

Installation du Ruby On Rails

Pour installer Ruby On Rails sur Gentoo, rien de plus simple, installer rudy puis le gem rails :

Configuration de la base de données

Nous allons créer une nouvelle base de données pour Webistrano, ainsi qu’un nouvel utilisateur:

Téléchargement et configuration du Webistrano

On va télécharger le tarball de la dernière version de Webistrano depuis le dépôt GitHub et décompressez le à l’endroit que vous souhaitez. Ici, le chemin de Webistrano sera /home/www/webistrano/.

Ensuite, nous allons configurer Webistrano en éditant les fichiers de configuration mais avant il faut les créer à partir des modèles fournis:

Continue reading Installer Webistrano avec nginx et PostgreSQL sous Gentoo

facebooktwittergoogle_plusredditpinterestlinkedinmail

Bien gérer les tâches avec Redmine depuis Eclipse

Redmine est un Bug Tracker (on peut même l’appeller un Gestionnaire de projet tellement il est complet) très innovant qui contient toutes les optionnalités necessaires à un bon développement. Après avoir installer Ruby On Rails, puis Redmine lui-même, cet outil est très performant. Pour encore plus de facilitée, Redmine peut être interfacé à Mylyn (plug-in de gestion approfondie des tâches) grâce à Redmine-Mylyn Connector.
Continue reading Bien gérer les tâches avec Redmine depuis Eclipse

facebooktwittergoogle_plusredditpinterestlinkedinmail

Installer Redmine avec PostgreSQL

Redmine est un gestionnaire de projet, plus particulièrement avancé dans la gestion des tâches. Il gêre les dépots SVN, GIT ou CVS et peut être interfacé avec Mylyn sous Eclipse ! Il est très complet et néanmoins impressionnant par sa claretée.

Pour installer Redmine, il vous faut une installation Ruby On Rails. Nous allons utiliser PostgreSQL comme base de données.
Continue reading Installer Redmine avec PostgreSQL

facebooktwittergoogle_plusredditpinterestlinkedinmail

Installer Ruby On Rails + Passenger pour Apache2 sur Debian

Certains outils très intéressants utilisent Ruby On Rails, il faut donc l’installer. Nous allons voir comment installer Ruby On Rails en installant en premier lieu le langage Ruby puis son gestionnaire de paquets, RubyGems, puis, grâce à celui-ci, Rails.

Installer Ruby depuis les sources

Nous allons compiler et installer Ruby nous-même. Pour ce faire, nous allons télécharger puis décompresser la dernière version stable de Ruby: Continue reading Installer Ruby On Rails + Passenger pour Apache2 sur Debian

facebooktwittergoogle_plusredditpinterestlinkedinmail