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


On Wed, Nov 9, 2011 at 10:30 AM, Craig White <[email protected]> wrote:

> I'm finally getting somewhere but I suspect that the callbacks are my
> downfall... especially because the main code base requires
> bundler/capistrano
>
> I could probably live with this...
>  * executing "rm -rf
> /var/www/ids-staging/shared/i18n/releases/20111109175849/log
> /var/www/ids-staging/shared/i18n/releases/20111109175849/public/system
> /var/www/ids-staging/shared/i18n/releases/20111109175849/tmp/pids &&\\\n
>    mkdir -p /var/www/ids-staging/shared/i18n/releases/20111109175849/public
> &&\\\n      mkdir -p
> /var/www/ids-staging/shared/i18n/releases/20111109175849/tmp &&\\\n      ln
> -s /var/www/ids-staging/shared/i18n/shared/log
> /var/www/ids-staging/shared/i18n/releases/20111109175849/log &&\\\n      ln
> -s /var/www/ids-staging/shared/i18n/shared/system
> /var/www/ids-staging/shared/i18n/releases/20111109175849/public/system
> &&\\\n      ln -s /var/www/ids-staging/shared/i18n/shared/pids
> /var/www/ids-staging/shared/i18n/releases/20111109175849/tmp/pids"
>    servers: ["nxpc.ttinet"]
>    [nxpc.ttinet] executing command
>    command finished in 19ms
>  * executing "find
> /var/www/ids-staging/shared/i18n/releases/20111109175849/public/images
> /var/www/ids-staging/shared/i18n/releases/20111109175849/public/stylesheets
> /var/www/ids-staging/shared/i18n/releases/20111109175849/public/javascripts
> -exec touch -t 201111091758.49 {} ';'; true"
>    servers: ["nxpc.ttinet"]
>    [nxpc.ttinet] executing command
>  ** [out :: nxpc.ttinet] find:
> `/var/www/ids-staging/shared/i18n/releases/20111109175849/public/images':
> No such file or directory
>  ** [out :: nxpc.ttinet] find:
> `/var/www/ids-staging/shared/i18n/releases/20111109175849/public/stylesheets':
> No such file or directory
>  ** [out :: nxpc.ttinet] find:
> `/var/www/ids-staging/shared/i18n/releases/20111109175849/public/javascripts':
> No such file or directory
>    command finished in 14ms
>    triggering after callbacks for `deploy:finalize_update'
>  * executing `bundle:install'
>  * executing "ls -x /var/www/ids-staging/shared/i18n/releases"
>    servers: ["nxpc.ttinet"]
>    [nxpc.ttinet] executing command
>    command finished in 9ms
>
> this of course means sure failure...
>  * executing "cd /var/www/ids-staging/shared/i18n/releases/20111109175849
> && bundle install --gemfile
> /var/www/ids-staging/shared/i18n/releases/20111109175849/Gemfile --path
> /var/www/ids-staging/shared/i18n/shared/bundle --deployment --quiet
> --without development test"
>    servers: ["nxpc.ttinet"]
>    [nxpc.ttinet] executing command
>  ** [out :: nxpc.ttinet] The --deployment flag requires a Gemfile.lock.
> Please make sure you have checked your Gemfile.lock into version control
> before deploying.
>
> I'm now appealing to the boss to consider separate capistrano deploy.rb
> type files and invoking the second with the '-f' option
>
> Thanks for all the help
>
> Craig
>
> On Nov 9, 2011, at 10:05 AM, Donovan Bray wrote:
>
> > Your directory structures don't make sense as you've presented them
> >
> > Releases and current shouldn't be under shared
> >
> > In i18n cached-copy should be under shared
> >
> > You've done some dirty nesting of your applications which doesn't make
> sense to me.
> >
> > I would either make the two applications as peers ie: (if it were me I
> wouldn't use the generic 'application' I would use it's real internal
> moniker)
> >
> > /var/www/application/current
> > /var/www/i18n/current
> >
> > Or I would make i18n's deployment directory in 'applications' shared
> directory.
> >
> > /var/www/application/current
> > /var/www/application/shared/i18n/current
> >
> > If a 3rd application is ever introduced and could possibly use the same
> i18n then I might consider the former; but the latter would work in all
> cases and operationally would insulate the two applications from i18n
> deployment dependency conflicts.
> >
> > Consider this:
> >
> > after "deploy:update_code", "deploy:i18n"
> > namespace :deploy do
> >  task :i18n do
> >    system "cap #{stage} i18n deploy"
> >  end
> > end
> > task :i18n do
> >   ....setup repo app name etc....
> > end
> >
> > I'm not positive of the stage variable when using capistrano-ext since I
> don't use it.
> >
> > And I think you have to do some extra work to manage the exit code from
> a system call, you could also leverage popen3 if you need more control. I
> think cap has a run_local helper that might even be more appropriate.
> >
> >
> > On Nov 9, 2011, at 7:26 AM, Craig White <[email protected]> wrote:
> >
> >> We really need two capistrano timestamped deploys
> >>
> >> The i18n is the language translations for the main code and they are
> typically maintained/updated separately (except perhaps for the initial
> deploy).
> >>
> >> Basically I am trying to get capistrano to:
> >>
> >> - (main code) /var/www/application/shared/cached-copy
> >>             /var/www/application/shared/releases
> >>             /var/www/application/shared/current
> >>
> >> - (i18n xlat) /var/www/application/i18n/cached-copy
> >>             /var/www/application/i18n/releases
> >>             /var/www/application/i18n/current
> >>
> >> and finally
> >> ln -nsf /var/www/application/i18n/current
> /var/www/application/current/config/locales
> >>
> >> On Nov 8, 2011, at 8:59 PM, Donovan Bray wrote:
> >>
> >>> You just haven't located all of the magic sauce yet.
> >>>
> >>> You can bend capistrano to do a lot of stuff it wasn't intended for;
> after all it's just ruby.
> >>>
> >>> One question I would ask is: Do you really need two capistrano
> timestamped deploys; or is one project really a dependency of the other?
> >>>
> >>> You might be better served to only deploy the top level application in
> the timestamped directory then create a task for installing this dependency
> that just does a nieve checkout into the top level deploys release
> directory. That then retains the ability to rollback to the previous
> release dir that has a matched set of top level app with it's dependency...
> And your not changing cap internals to do it.
> >>>
> >>> On Nov 8, 2011, at 1:15 PM, Craig White <[email protected]>
> wrote:
> >>>
> >>>> We are currently running scripts via a modified vlad already - I was
> wondering if capistrano was able to deploy from 2 different subversion
> paths and Donovan suggested yes it was possible and I implemented per his
> suggestion.
> >>>>
> >>>> The problem with your suggestion is that it doesn't allow me to
> choose which svn branch/tag/trunk and doesn't offer rollback, etc.
> >>>>
> >>>> Craig
> >>>>
> >>>> On Nov 8, 2011, at 12:40 PM, Lee Hambley wrote:
> >>>>
> >>>>> When you have two separate projects, they aught to be submodules of
> oneanother (depending how the heirarchy makes sense) then your I18n deploy
> is "ssh me@theserver 'cd ./the/project/dir && git submodule update i18n' "
> >>>>>
> >>>>> - Lee
> >>>>>
> >>>>> --
> >>>>> * 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
> >>>>
> >>>> --
> >>>> Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> [email protected]
> >>>> 1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> www.ttiassessments.com
> >>>>
> >>>> Need help communicating between generations at work to achieve your
> desired success? Let us help!
> >>>>
> >>>> --
> >>>> * 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
> >>>
> >>> --
> >>> * 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
> >>
> >> --
> >> Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> [email protected]
> >> 1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> www.ttiassessments.com
> >>
> >> Need help communicating between generations at work to achieve your
> desired success? Let us help!
> >>
> >> --
> >> * 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
> >
> > --
> > * 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
>
> --
> Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> [email protected]
> 1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> www.ttiassessments.com
>
> Need help communicating between generations at work to achieve your
> desired success? Let us help!
>
> --
> * 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
>

-- 
* 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