views:

142

answers:

2

Hi, I'm trying to deploy an app with SVN and Vlad the deployer. Vlad and its dependencies are installed and seem OK.

I'm trying the following:

rake prod vlad:update

Being my config/deploy.rb file:

task :prod do
set :application, "xxx"
set :deploy_timestamped, "false"
set :user,       "username"
set :scm_user,   "scmusername"
set :repository, "http://domain.com/svn/app"
set :domain,     "domain.com"
set :deploy_to,  "/home/username/deployments/app"
puts "Production deployment to #{deploy_to}"
end

I have done "rake prod vlad:setup" already, that's fine. But when calling "rake prod vlad:update", I get the following

A    ...file
Exported revision 14.
ln: creating symbolic link `/home/username/deployments/drupalgestalt/releases/20100503164225/public/system' to     `/home/username/deployments/drupalgestalt/shared/system': No such file or directory
rake aborted!
execution failed with status 1: ssh domain.com ln -s 
/home/username/deployments/app/shared/log 
/home/username/deployments/app/releases/20100503164225/log && ln -s 
/home/username/deployments/app/shared/system 
/home/username/deployments/app/releases/20100503164225/public/system && ln -s     
/home/username/deployments/app/shared/pids 
/home/username/deployments/app/releases/20100503164225/tmp/pids

Apparently it complains when creating the ln, but permissions are all set up fine.

Am I doing anything wrong? I'm just starting with Vlad on the assumption it was super-easy to set up. Had played a bit with cap in the past, and I do like Vlad idea.

A: 

It looks like a path error. Try changing your :deploy_to line to the correct path. I'm fairly certain that "/home/username/" is not it.

Cory
A: 

more specifically... it looks like you're missing the "shared" directory that its trying to symlink to. Do you have the following directory set up?

/home/username/deployments/drupalgestalt/shared/system

And yes, "username" is a problem too. You'll need to update the following line:

set :deploy_to,  "/home/username/deployments/app"

to

set :deploy_to,  "/home/#{username}/deployments/#{application}"
Taryn East
Hi, thanks for the reply.I actually solved by using the namespace vlad to define the tasks. It looked like it wasn't taken. In theory shouldn't matter though.I created those common directories that Vlad requests - but nothing worked out until I changed the conf to sth like:namespace :vlad do ... desc "Full deployment cycle" remote_task :deploy => [ :update, :start_app ] ...endThat is defining the task deploy into the namespace vlad - that was needed, and define it as a remote_task.PS: I changed my username by "username", just not to disclose too much info. That is fine.
Ah cool - yeah, that makes sense. I wasn't sure if it was purposeful or a copy-paste error... :)namespaces huh? I'll have to think about that as I'm having some issues with cap-deploying on dreamhost. Might be worth a try...
Taryn East