capistrano

How do I use frozen Capistrano part 2?

Following on from my question on using frozen Capistrano a couple of days back I'm still having issues running Capistrano frozen in my vendor folder. When I try and run my frozen version of cap ruby -r rubygems ./vendor/gems/capistrano-2.5.2/bin/cap deploy-with-migrations I get an error ... RubyGem version error: net-ssh(1.0.8 not ...

git archive vs cp -R

If I have a clone of a git repository as a cached copy on a remote server for capistrano/vlad style deployment, is it better to do A) git archive --format=tar origin/master | (cd #{destination} && tar xf -) or B) cp -R cached-copy #{destination} && rm -Rf #{destination}/.git ? To Clarify, the repository is already on the remote serv...

Deny access to .svn folders on Apache

We have a rails application in subversion that we deploy with Capistrano but have noticed that we can access the files in '/.svn', which presents a security concern. I wanted to know what the best way to do this. A few ideas: Global Apache configuration to deny access Adding .htaccess files in the public folder and all subfolders C...

Primary servers in capistrano

I have a task in capistrano wherein I want just a single line to run only if the server is a marked as primary. Is there a variable or method that I can reference inside a task? 'primary?' or 'primary' doesn't seem to work. I've also tried something akin to the following: after "deploy", "task1" after "deploy", "task2" after "deploy"...

What is your preferred php deployment strategy?

I'm beginning a new project in PHP and I'd love to get some feedback from other developers on their preferred strategy for PHP deployment. I'd love to automate things a bit so that once changes are committed they can be quickly migrated to a development or production server. I have experience with deployments using Capistrano with Ruby ...

How to deploy to a single specific server using Capistrano

I have a system in production that has several servers in serveral roles. I would like to test a new app server by deploying to that specific server, without having to redeploy to every server in production. Is there a way to ask Capistrano to deploy to a specific server? Ideally I'd like to be able to run something like cap SERVER=app2...

Capistrano is hanging when prompting for SUDO password to an Ubuntu box.

I have a capistrano deployment recipe I've been using for some time to deploy my web app and then restart apache/nginx using the sudo command. Recently cap deploy is hanging when I try to execute these sudo commands. I see the output: "[sudo] password for " With my server name and the remote login, but this is not a secure login promp...

Capistrano remote authentication problem

Hello, I'm trying to deploy to a slicehost slice using this config/deploy/production.rb file. I'm clueless & haven't used capistrano before now. Here are the steps I followed. Sorry but I'm completely new to capistrano. It keeps asking for my password (have set up passwordless SSH), and throwing this error: (SocketError: getaddrinf...

How do I "copy unless later version exists" in Capistrano?

I want to protect my database.yml file by keeping it out of version control. Thus, I have two tasks in my Capistrano deploy recipe: task :copy_db_config do # copy local config file if it exists and is more # recent than the remote one end task :symlink_db_config do run "ln -nfs #{shared_path}/config/database.yml #{release_path}/...

RoR Server Construction and Capistrano Support

I have been creating a website with Ruby on Rails, and will be hosting it through a friend. He has the space and capacity to host the server, and I have a system to devote to being a dedicated server. And this is my first attempt at a Rails website, plus self-hosting with a friend. I will be formatting and preparing the server today a...

How do you roll back to the previously deployed version with capistrano?

I tried using "cap rollback" but I get the following error: $ cap rollback the task `rollback' does not exist Is there some additional setup that I need to do to get rollbacks to work? ...

Uploading Rails Apps with MediaTemple

Any recommendations of a recent tutorial, or guide, on uploading Rails applications to a (gs) rails container? I've followed a couple tutorials already, both of which haven't worked. ...

Ruby on Rails - Capistrano and SVN on Windows. Setup help

I have Subversion setup and running on my local network with windows and svnserve. I'd like to use Capistrano to deploy to a remote ubuntu server but am a bit on unsure on what I need to do to get the client end to work on windows. My understanding is that the remote server needs to be able to tunnel into my subversion server. I've re...

"Warm Up Cache" on deployment

I am wondering if anyone has any plugins or capistrano recipes that will "pre-heat" the page cache for a rails app by building all of the page cached html at the time the deployment is made, or locally before deployment happens. I have some mostly static sites that do not change much, and would run faster if the html was already written...

Rails: Unable to access log file

I get the following error when restarting my rails app. I've had this problem before, on another server with another app, but can't remember what the problem was, or how I solved it. Rails Error: Unable to access log file. Please ensure that /apps/staging/releases/20090310162127/log/staging.log exists and is chmod 0666. The log level ha...

Can I interact with Rails models within a Capistrano task?

I often used Rake tasks that are dependent upon the Rails environment task having loaded. I then interact with Rails Models within the Rake tasks. Can I do this in Capistrano? ...

How can I clear memcache using capistrano?

I use capistrano to deploy my app to a machine that uses memcache. I want capistrano to clear memcache when it deploys a new version of the site. ...

Capistrano symlinking problem?

I've this capistrano command. task :symlink_shared do run "rm -rf #{current_path}/config/database.yml" run "ln -nfs #{shared_path}/config/database.yml #{release_path}/config/database.yml" run "rm -rf #{current_path}/config/app_config.yml" run "ln -nfs #{shared_path}/config/app_config.yml #{release_pa...

Where do you put your app-config-files when deploying rails with capistrano and svn

I have two config-files /app/config/database.yml and /app/config/userconfig.yml i don't want to put the database credentials and userconfig in the svn-repository, so i have database.yml.dist and userconfig.yml.dist checked in. What is the best way to get copys of the dist-files in the shared-directory when deploying the app for th...

Creating a Capistrano task that performs different tasks based on role

I'm looking for a way to call a single Capistrano task to perform different things to different roles. Is Capistrano able to do this, or do I have write a specific task for each role? ...