linux Jamis Buck <[EMAIL PROTECTED]> wrote: What is your remote OS?
- Jamis On Sep 27, 2007, at 10:19 PM, lucas campbell wrote: > Hi Jamis, > > Looks like cap setup started to work for me. Not sure what the > problem was but it is working fine now. I do however have anther > problem. First I ran cap setup and then I ran cap deploy. The > file structure created under my "deploy to" directory is not > current/public instead i am seeing current/20070928041036 It looks > like this date/time folder is being created. In this folder is all > of my rails files. Do you know why? > > thanks. > > Jamis Buck wrote: > Alright, so you're not passing any HOSTS environment variables, then? > Also, I assume you're still on cap 1.4.1? > > Also, what is the exact behavior that you're seeing? Are you seeing > an error? > > - Jamis > > On Sep 27, 2007, at 8:26 PM, lucas campbell wrote: > > > cap setup > > > > Jamis Buck wrote: What is the command you are > > trying to run? > > > > - Jamis > > > > On Sep 27, 2007, at 5:56 PM, bukaki wrote: > > > > > > > > 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 <> 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 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" 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 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 - > > > > > > > > > Be a better Globetrotter. Get better travel answers from someone > > who knows. > > Yahoo! Answers - Check it out. > > Building a website is a piece of cake. > Yahoo! Small Business gives you all the tools to get online. --~-- > ~---------~--~----~------------~-------~--~----~ > To unsubscribe from this group, send email to capistrano- > [EMAIL PROTECTED] > For more options, visit this group at http://groups.google.com/ > group/capistrano > -~----------~----~----~----~------~----~------~--~--- > --------------------------------- Luggage? GPS? Comic books? Check out fitting gifts for grads at Yahoo! Search. --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
