2010-05-04 3 views
0

C'est la première fois que je tente de configurer capistrano pour déployer une application rails. Je suis en train de déployer depuis ma machine locale vers mon serveur distant qui a les serveurs repo, web, app et mysql sur la même machine. Je suivais cette promenade à travers: http://www.capify.org/index.php/From_The_BeginningUtilisateur inconnu 'app' avec capistrano

je reçois à la commande

cap deploy:start 

Puis-je obtenir cette erreur:

*** [err :: example.com] sudo: unknown user: app 
    command finished 
failed: "sh -c 'cd /var/www/example/current && sudo -p '\\''sudo password: '\\'' -u app nohup script/spin'" on example.com 

Suis-je censé ajouter un utilisateur « app », ou est il existe un moyen de changer quel utilisateur la commande s'exécute comme?

Ceci est mon deploy.rb:

set :application, "example" 
set :repository, "[email protected]:example.git" 
set :user, "trobrock" 
set :branch, 'master' 

set :deploy_to, "/var/www/example" 

set :scm, :git 
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `git`, `mercurial`, `perforce`, `subversion` or `none` 

role :web, "example.com"       # Your HTTP server, Apache/etc 
role :app, "example.com"       # This may be the same as your `Web` server 
role :db, "example.com", :primary => true   # This is where Rails migrations will run 

Et, évidemment, partout où il dit example.com est mon nom d'hôte des serveurs et tout simplement il est dit par exemple est le nom de l'application.

Répondre

2

La commande a échoué tente de sudo. Peut-être que vous devriez mettre use_sudo false

set :use_sudo, false 

je reçois une exception similaire lorsque ce n'est pas définie sur false

Bonne chance

0

Je pense que vous trouverez que le « runner » votre application utilise pour cette commande est par défaut à 'app'. Comme vous avez le: set utilisateur, j'imagine que vous devez soit: runner soit: admin runner à 'trobrock'. Pour plus d'informations, voir le blog post on runners. La syntaxe sera quelque chose comme:

set :runner, 'trobrock' 
set :admin_runner, 'trobrock' 

Je pense que vous trouverez cela: coureur est ce que vous recherchez. Cela dit, cela ressemble à déployer: start est deprecated et ne doit pas être utilisé. Je l'ai certainement dépassé depuis des lustres dans toutes les recettes. Puisque vous avez jusqu'à la mise en place de votre déploiement, je vous suggère de sauter dans le «déploiement de cap» et de voir ce qui se passe.

Si vous avez d'autres problèmes, n'hésitez pas à me contacter lorsque vous avez posté une nouvelle question :)