I am actually having the same problem as the original author. I do have a file named Capfile in my top level. Below is my deploy.rb
# This defines a deployment "recipe" that you can feed to capistrano # (http://manuals.rubyonrails.com/read/book/17). It allows you to automate # (among other things) the deployment of your application. # ============================================================================= # REQUIRED VARIABLES # ============================================================================= # You must always specify the application and repository for every recipe. The # repository must be the URL of the repository you want this recipe to # correspond to. The deploy_to path must be the path on each machine that will # form the root of the application path. set :user, "luke" set :application, "test" set :repository, "http://svn.sjsnetworking.com/test" # ============================================================================= # ROLES # ============================================================================= # You can define any number of roles, each of which contains any number of # machines. Roles might include such things as :web, or :app, or :db, defining # what the purpose of each machine is. You can also specify options that can # be used to single out a specific subset of boxes in a particular role, like # :primary => true. role :web, "sjsnetworking.com" role :app, "sjsnetworking.com" role :db, "sjsnetworking.com", :primary => true # ============================================================================= # OPTIONAL VARIABLES # ============================================================================= set :deploy_to, "/home/lukecampbell/domain" # defaults to "/u/apps/ #{application}" set :use_sudo, false set :checkout, "export" # set :user, "flippy" # defaults to the currently logged in user # set :scm, :darcs # defaults to :subversion set :svn, "/usr/bin/svn" # defaults to searching the PATH set :svn_username, Proc.new { "luke --password password" } # set :darcs, "/path/to/darcs" # defaults to searching the PATH # set :cvs, "/path/to/cvs" # defaults to searching the PATH # set :gateway, "gate.host.com" # default to no gateway # ============================================================================= # SSH OPTIONS # ============================================================================= # ssh_options[:keys] = %w(/path/to/my/key /path/to/another/key) # ssh_options[:port] = 25 # ============================================================================= # TASKS # ============================================================================= # Define tasks that run on all (or only some) of the machines. You can specify # a role (or set of roles) that each task should be executed on. You can also # narrow the set of servers to a subset of a role by specifying options, which # must match the options given for the servers to select (like :primary => true) desc <<DESC An imaginary backup task. (Execute the 'show_tasks' task to display all available tasks.) DESC task :backup, :roles => :db, :only => { :primary => true } do # the on_rollback handler is only executed if this task is executed within # a transaction (see below), AND it or a subsequent task fails. on_rollback { delete "/tmp/dump.sql" } run "mysqldump -u theuser -p thedatabase > /tmp/dump.sql" do |ch, stream, out| ch.send_data "thepassword\n" if out =~ /^Enter password:/ end end # Tasks may take advantage of several different helper methods to interact # with the remote server(s). These are: # # * run(command, options={}, &block): execute the given command on all servers # associated with the current task, in parallel. The block, if given, should # accept three parameters: the communication channel, a symbol identifying the # type of stream (:err or :out), and the data. The block is invoked for all # output from the command, allowing you to inspect output and act # accordingly. # * sudo(command, options={}, &block): same as run, but it executes the command # via sudo. # * delete(path, options={}): deletes the given file or directory from all # associated servers. If :recursive => true is given in the options, the # delete uses "rm -rf" instead of "rm -f". # * put(buffer, path, options={}): creates or overwrites a file at "path" on # all associated servers, populating it with the contents of "buffer". You # can specify :mode as an integer value, which will be used to set the mode # on the file. # * render(template, options={}) or render(options={}): renders the given # template and returns a string. Alternatively, if the :template key is given, # it will be treated as the contents of the template to render. Any other keys # are treated as local variables, which are made available to the (ERb) # template. desc "Demonstrates the various helper methods available to recipes." task :helper_demo do # "setup" is a standard task which sets up the directory structure on the # remote servers. It is a good idea to run the "setup" task at least once # at the beginning of your app's lifetime (it is non-destructive). setup buffer = render("maintenance.rhtml", :deadline => ENV['UNTIL']) put buffer, "#{shared_path}/system/maintenance.html", :mode => 0644 sudo "killall -USR1 dispatch.fcgi" run "#{release_path}/script/spin" delete "#{shared_path}/system/maintenance.html" end # You can use "transaction" to indicate that if any of the tasks within it fail, # all should be rolled back (for each task that specifies an on_rollback # handler). desc "A task demonstrating the use of transactions." task :long_deploy do transaction do update_code disable_web symlink migrate end restart enable_web end desc "Restart the FCGI processes on the app server as a regular user." task :restart, :roles => :app do run "#{current_path}/script/process/reaper -- dispatcher=dispatch.fcgi" end On Sep 4, 10:54 pm, chris <[EMAIL PROTECTED]> wrote: > No I don't have a Capfile. I was under the impression that was for > 2.0 only, although I could very well be wrong. I am using 1.4.1. > > Although I ran the command again to find the previous error message > and this time it worked. Not sure why. I am just getting some > permission errors on the server for creating directories. > > Thanks for the help > > On Sep 4, 10:33 pm, "Jamis Buck" <[EMAIL PROTECTED]> wrote: > > > > > ENV is a Hash instance, containing all defined environment variables. > > However, that's not really going to be the problem, since all it means > > is that you don't have one of the (optional) environment variables > > set. Rather, the error you are getting occurs when you don't have your > > roles configured correctly. Was what you pasted in your original email > > the entire contents of your config/deploy.rb? Do you have a file named > > Capfile in your top-level project directory? If so, what does it > > contain? > > > - Jamis > > > On 9/4/07, chris <[EMAIL PROTECTED]> wrote: > > > > When running the cap setup command I am getting the following error: > > > > executing "umask 02 &&\n mkdir -p /u/apps/ /u/apps/releases /u/apps/ > > > shared /u/apps/shared/system &&\n mkdir -p /u/apps/shared/log && > > > \n mkdir -p /u/apps/shared/pids" > > > /usr/local/lib/ruby/gems/1.8/gems/capistrano-1.4.1/lib/capistrano/ > > > actor.rb:545:in `execute_on_servers': The setup task is only run for > > > servers matching {:except=>{:no_release=>true}, :desc=>"Set up the > > > expected application directory structure on all boxes"}, but no > > > servers matched (RuntimeError) > > > > When looking at the Capistrano code it seems that it is unable to > > > obtain any hosts in the following code block. I What is the ENV > > > array? > > > > # /usr/local/lib/ruby/gems/1.8/gems/capistrano-1.4.1/lib/capistrano/ > > > actor.rb :108 > > > def environment_values(key, use_symbols = false) > > > if variable = ENV[key.to_s.upcase] ### This is where it seems to > > > obtain nothing, then being false > > > values = variable.split(",") > > > use_symbols ? values.collect { |e| e.to_sym } : values > > > end > > > end > > > > Here is what I have in my deploy.rb file: > > > set :application, "softballsmart" > > > set :domain, "pointytack.com" > > > set :user, "chrisolsen" > > > set :svn, "/svn-repos/#{application}/trunk" > > > set :repository, "svn+ssh://[EMAIL PROTECTED]" > > > set :rails_env, "production" > > > > role :web, domain > > > role :app, domain > > > role :db, domain, :primary => true > > > > set :deploy_to, "/var/www/apps" > > > ssh_options[:keys] = %w(/Users/chrisolsen/.ssh/id_dsa) > > > ssh_options[:port] = 22 > > > > I am assuming that something is missing or set incorrectly. Thanks > > > for the help- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
