On Nov 9, 2011, at 11:42 AM, Donovan Bray wrote:

> so the problem is you are using the same deploy.rb for two applications where 
> one uses bundler and one doesn't.
> 
> Your choices; 
> 
> use separate deploy.rb's (my last choice)
> check in a basic Gemfile to satisfy bundler in the second project and move 
> on. (thats a band-aid and capistrano cop-out)
> manage the exception in the current deploy.rb (usually the direction I go) 
> ie: don't use the canned bundler
> 
> my bundler task is smarter and won't attempt the bundle if there is no 
> Gemfile present.
> 
> https://github.com/donnoman/cap-recipes/blob/master/lib/cap_recipes/tasks/bundler/install.rb
----
I may have to do something like your custom bundler method (I could always just 
longhand the command into a task that is run 'after' 'deploy', 'deploy:update', 
'deploy:update_code' and hope that I catch it before it symlinks the 'current' 
to the newest code if it fails.

As for having 2 separate deploy.rb files...

IF both are in the same deploy file AND this deploy file contains:

RAILS_ROOT = File.expand_path(File.dirname(__FILE__) + "/..")
 then deploying the i18n is generally messy because it seeks to remove 
public/{system,tmp} and in general, try to rails fix the deploy.

But what I don't understand about 'cap -f' is the difference in behaviors.

config/deploy.rb and config/deploy.rb-i18n are exactly the same...

cwhite@nxpc:~/ids/IDS$ cap -T
cap canada_prod          # Set the target stage to `canada_prod'.
cap colo_prod            # Set the target stage to `colo_prod'.
cap deploy               # Deploys your project.
cap deploy:check         # Test deployment dependencies.
cap deploy:cleanup       # Clean up old releases.
cap deploy:cold          # Deploys and starts a `cold' application.
cap deploy:migrations    # Deploy and run pending migrations.
cap deploy:pending       # Displays the commits since your last deploy.
cap deploy:pending:diff  # Displays the `diff' since your last deploy.
cap deploy:rollback      # Rolls back to a previous version and restarts.
cap deploy:rollback:code # Rolls back to the previously deployed version.
cap deploy:setup         # Setup translation directory
cap deploy:symlink       # Create Symbolic links to current path
cap deploy:update        # Copies your project and updates the symlink.
cap deploy:update_code   # Copies your project to the remote servers.
cap deploy:upload        # Copy files to the currently deployed version.
cap deploy:web:disable   # Present a maintenance page to visitors.
cap deploy:web:enable    # Makes the application web-accessible again.
cap development          # Set the target stage to `development'.
cap euro_prod            # Set the target stage to `euro_prod'.
cap invoke               # Invoke a single command on the remote servers.
cap libra_prod           # Set the target stage to `libra_prod'.
cap mii_prod             # Set the target stage to `mii_prod'.
cap multistage:prepare   # Stub out the staging config files.
cap shell                # Begin an interactive Capistrano session.
cap staging              # Set the target stage to `staging'.
cap test1                # Set the target stage to `test1'.
cap test2                # Set the target stage to `test2'.

cwhite@nxpc:~/ids/IDS$ cap -f config/deploy.rb-i18n -T
cap canada_prod        # Set the target stage to `canada_prod'.
cap colo_prod          # Set the target stage to `colo_prod'.
cap deploy:setup       # Setup translation directory
cap deploy:symlink     # Create Symbolic links to current path
cap development        # Set the target stage to `development'.
cap euro_prod          # Set the target stage to `euro_prod'.
cap invoke             # Invoke a single command on the remote servers.
cap libra_prod         # Set the target stage to `libra_prod'.
cap mii_prod           # Set the target stage to `mii_prod'.
cap multistage:prepare # Stub out the staging config files.
cap shell              # Begin an interactive Capistrano session.
cap staging            # Set the target stage to `staging'.
cap test1              # Set the target stage to `test1'.
cap test2              # Set the target stage to `test2'.

-- 
* You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
* To post to this group, send email to [email protected]
* To unsubscribe from this group, send email to 
[email protected] For more options, visit this group at 
http://groups.google.com/group/capistrano?hl=en

Reply via email to