Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Ruby Deployment with Capistrano Deploy a Rails App with Capistrano Deploying a Code Challenge

Set the Capistrano :deploy_to variable to the path "/var/www/" followed by the value of the :application variable. Use t

Set the Capistrano :deploy_to variable to the path "/var/www/" followed by the value of the :application variable. Use the Capistrano fetch method to get the value of :application.

config/deploy.rb
# config valid only for current version of Capistrano
lock "3.7.2"

set :application, "guestbook"
set :repo_url, "git@example.com:treehouse/guestbook.git"
set :deploy_user,"deploy"

# Default branch is :master
# ask :branch, `git rev-parse --abbrev-ref HEAD`.chomp

# Default deploy_to directory is /var/www/my_app_name
# set :deploy_to, "/var/www/my_app_name"

set :deploy_to,  "/home/#{fetch :deploy_user}/#{fetch : application}"

# Default value for :format is :airbrussh.
# set :format, :airbrussh

# You can configure the Airbrussh format using :format_options.
# These are the defaults.
# set :format_options, command_output: true, log_file: "log/capistrano.log", color: :auto, truncate: :auto

# Default value for :pty is false
# set :pty, true

# Default value for :linked_files is []
# append :linked_files, "config/database.yml", "config/secrets.yml"

# Default value for linked_dirs is []
# append :linked_dirs, "log", "tmp/pids", "tmp/cache", "tmp/sockets", "public/system"

# Default value for default_env is {}
# set :default_env, { path: "/opt/ruby/bin:$PATH" }

# Default value for keep_releases is 5
# set :keep_releases, 5

1 Answer

Maciej Czuchnowski
Maciej Czuchnowski
36,441 Points

You're very close, you just need to modify your deploy_to a little bit:

set :deploy_to, "/var/www/#{fetch :application}"

The task specifically wants www, not #{fetch :deploy_user} in that path.