default deploy:stop task syntax error
Reported by Matt Hooks | May 7th, 2008 @ 07:30 PM
Here's the error output:
- executing `deploy:stop'
- executing "if [ -f /var/www/vhosts/app/current/tmp/pids/dispatch.spawner.pid ]; then /var/www/vhosts/app/current/script/process/reaper -a kill -r dispatch.spawner.pid; fi"
servers: ["ipaddress"]
[ipaddress] executing command
** [out :: ipaddress] bash: -c: line 0: syntax error near unexpected token `then'
** [out :: ipaddress] bash: -c: line 0: `sudo -p 'sudo password: ' -u root if [ -f /var/www/vhosts/app/current/tmp/pids/dispatch.spawner.pid ]; then /var/www/vhosts/app/current/script/process/reaper -a kill -r dispatch.spawner.pid; fi'
command finished
command "if [ -f /var/www/vhosts/app/current/tmp/pids/dispatch.spawner.pid ]; then /var/www/vhosts/app/current/script/process/reaper -a kill -r dispatch.spawner.pid; fi" failed on ipaddress
-----
The error involves line 431 of lib/capistrano/recipes/deploy.rb
-----
try_sudo "if [ -f #{current_path}/tmp/pids/dispatch.spawner.pid ]; then #{current_path}/script/process/reaper -a kill -r dispatch.spawner.pid; fi"
-----
Pretty sure the problem is just that bash doesn't recognize the semicolon.
Running:
Linux version 2.6.9-023stab044.4-enterprise (root@rhel4-32) (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)) #1 SMP Thu May 24 17:41:23 MSD 2007
Comments and changes to this ticket
-
Jamis Buck May 24th, 2008 @ 09:35 PM
- → State changed from new to resolved
This should be fixed, as of http://github.com/jamis/capistra.... The problem was that the 'if' branch was not legal to run as an argument to sudo. The solution is to put the sudo call inside the if branch.
Please Login or create a free account to add a new comment.
You can update this ticket by sending an email to from your email client. (help)
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
