Setup
I had a lot of trouble with online recipes not matching the version of Capistrano I had. I settled on Capistrano v2.15.5 since that's what the Blacklight project is using.
You'll Ruby, Capistrano, PHP, MySQL, Git, drush, and a server to run the Drupal site.
Install capistrano:
gem install capistrano gem install capistrano-ext |
Local Directory
Your development/site building happens here. It could be on a development machine also.
Set up a git repository for the site on https://git.library.cornell.edu/ - example https://git.library.cornell.edu/featureserver_test_library_cornell_edumkdir featureserver_test_library_cornell_edu
cd featureserver_test_library_cornell_edu git init touch README.txt git add README.txt git commit -m 'first commit' git remote add origin git@git.library.cornell.edu:featureserver_test_library_cornell_edu.git git push -u origin master |
Set up the local directory
Here's what my .gitignore looks like.
Let capistrano create its default files
bash> cd featureserver_test_library_cornell_edu bash> capify . |
Now the directory looks like this:
Change the default deploy.rb to add stages (eg. staging, production) and add a deploy directory containing a file for each stage.
Here are some examples for deploy.rb, staging.rb, and production.rb that work for CUL servers. You'll need to modify the URLs and paths wherever there is a TODO comment.
Note: We currently don't have the servers set up to follow Capistrano's 'current' symlink. To work things out I've added a 'cap' directory:
/libweb/sites/<domain name>/cap
and deployed the sites there. If you add a symlink like this
/libweb/sites/<domain name>/htdocs/capcurrent -> ../cap/current/public
you can see the deployed site at
http://<domain name>/capcurrent
BUT it only works if you turn off Clean URLS
http://<domain name>/capcurrent/?q=admin/config/search/clean-urls
Server Directory