Capistrano help for PHP deployment
After struggling w/ it all weekend, I have it working and its deploying my app from subversion which is on my own linux box, to another server that I'm paying for.
Here are my questions:
1. In order to modify the deployment process (ie. symlink different file paths), I ended up directly editing the deploy.rb file located in the recipes directory under the capastrino install. Is this the only way to modify the deployment process? I do have another deploy.rb file located in the config directory of my app. But it is my understanding that this file is to setup your subversion server, the production server, username, etc...
2. This is more of a linux question, which I'm also new to...The way I have it deploying now requires me to keep entering in my password. I do have my servers setup w/ ssh keys, so I'm not sure if I've done something wrong there or if the current process is what I should expect. Anyways, below is a transcript of the deployment:
[halbertn@linux config]$ cap deploy:update
You are running Ruby 1.8.6, which has a bug in its threading implementation.
You are liable to encounter deadlocks running Capistrano, unless you install
the fastthread library, which is available as a gem: gem install fastthread
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
Enter passphrase for key '/home/halbertn/.ssh/id_dsa':
halbertn@my.linuxbox.net's password:
* executing "svn checkout -q -r121 svn+ssh://my.linuxbox.net/var/svn/ah/trunk /var/ah/releases/20071224212935 && (echo 121 > /var/ah/releases/20071224212935/REVISION)"
servers: ["xx.xxx.xx.xxx"]
Password:
[xx.xxx.xx.xxx] executing command
** [out] Enter passphrase for key '/home/halbertn/.ssh/id_dsa':
** [out]
** [out] halbertn@my.linuxbox.net's password:
** [out]
** [out] Enter passphrase for key '/home/halbertn/.ssh/id_dsa':
** [out]
** [out] halbertn@my.linuxbox.net's password:
** [out]
command finished
* executing `deploy:finalize_update'
* executing "chmod -R g+w /var/ah/releases/20071224212935"
servers: ["xx.xxx.xx.xxx"]
[xx.xxx.xx.xxx] executing command
command finished
* executing "rm -rf /var/ah/releases/20071224212935/log /var/ah/releases/20071224212935/public/system /var/ah/releases/20071224212935/tmp/pids &&\n mkdir -p /var/ah/releases/20071224212935/public &&\n mkdir -p /var/ah/releases/20071224212935/tmp &&\n ln -s /var/ah/shared/log /var/ah/releases/20071224212935/log &&\n ln -s /var/ah/shared/system /var/ah/releases/20071224212935/public/system &&\n ln -s /var/ah/shared/pids /var/ah/releases/20071224212935/tmp/pids"
servers: ["xx.xxx.xx.xxx"]
[xx.xxx.xx.xxx] executing command
command finished
* executing "find /var/ah/releases/20071224212935/public/images /var/ah/releases/20071224212935/public/stylesheets /var/ah/releases/20071224212935/public/javascripts -exec touch -t 200712242130.47 {} ';'; true"
servers: ["xx.xxx.xx.xxx"]
[xx.xxx.xx.xxx] executing command
** [out :: xx.xxx.xx.xxx] find: /var/ah/releases/20071224212935/public/images: No such file or directory
** [out :: xx.xxx.xx.xxx] find: /var/ah/releases/20071224212935/public/stylesheets: No such file or directory
** [out :: xx.xxx.xx.xxx] find: /var/ah/releases/20071224212935/public/javascripts: No such file or directory
command finished
* executing `deploy:symlink'
* executing "rm -f /var/ah/current && ln -s /var/ah/releases/20071224212935 /var/ah/current"
servers: ["xx.xxx.xx.xxx"]
[xx.xxx.xx.xxx] executing command
command finished
* executing `deploy:symlink_photos'
* executing "rm -r -f /var/ah/current/public/photos && ln -nfs /var/ah/shared/photos /var/ah/releases/20071224212935/public/photos"
servers: ["xx.xxx.xx.xxx"]
[xx.xxx.xx.xxx] executing command
command finished
** transaction: commit
Any help would be much appreciated.Thanks!