It might be that some of the non-login, non-interactive dotfiles are
loading your interactive, or login dotfiles. Some operating systems do
this, they shouldn't. Are you deploying to somewhere exotic?

Lee Hambley
--
http://lee.hambley.name/
+49 (0) 170 298 5667


On 14 January 2014 21:19, Douglas Magnenat <douglas.magne...@gmail.com>wrote:

> Thanks for your answer.
> Well, my '~/.bashrc' file is the standard default one. I just added an
> 'echo' command in order for me to be informed when this file is launched
> (That's usefull indeed !).
>
> Simple question : How the capistrano's community would know that
> Capistran's current release 3.0.1 doesnt deactivate PTY by default when the
> official doc (the link you gave) and the readme
> https://github.com/capistrano/capistrano/blob/master/README.md clearly
> stated that it does ?
> Moreover the Changelog
> https://github.com/capistrano/capistrano/blob/master/CHANGELOG.md doesn't
> says anything about a change with pty default value.
>
> I also notice that the 'deploy_to' variable defaulted to /var/www, instead
> of /var/www/#{fetch(:application)}. Maybe this is a desired working, I
> don't know.
> At least, I know I will never anymore rely on default settings ;o)
>
> This is my new deploy.rb :
> require 'rvm/capistrano'
> set :rvm_type, :system
>
> set :application, 'odpf'
> set :repo_url, 'g...@github.com:mycount/mygitrepo.git'
> set :branch, 'production_1.01'
> set :deploy_to, '/var/www/odpf'
> set :pty, false
> set :scm, :git
> set :format, :pretty
>
> namespace :deploy do
>
>   desc 'Restart application'
>   task :restart do
>     on roles(:app), in: :sequence, wait: 5 do
>       # Your restart mechanism here, for example:
>
>       #
> http://www.modrails.com/documentation/Users%20guide%20Apache.html#_redeploying_restarting_the_ruby_on_rails_application
>       execute :touch, release_path.join('tmp/restart.txt')
>     end
>   end
>
>   after :restart, :clear_cache do
>     on roles(:web), in: :groups, limit: 3, wait: 10 do
>       # Reference :
> http://guides.rubyonrails.org/v3.2.14/command_line.html#tmp
>       within release_path do
>         execute :rake, 'tmp:cache:clear'
>       end
>     end
>   end
>
>   after :finishing, 'deploy:cleanup'
> end
>
> So I tried to set(:pty, false) with Capistrano 3.0.1.
> I also tried with master branch Capitrano 3.1.0.
> In both case Capistrano "*seems*" to be running a non-login interactive
> connexion because my echo command still appear in the capistrano output (so
> ~/.bahsrc file is read). I can't figure ot why.
>
> To check that I created two task based on your advice (
> http://capistranorb.com/documentation/faq/why-does-something-work-in-my-ssh-session-but-not-in-capistrano/
>  )
> :
>
>     desc "Check if ssh connexion is interactive"
>     task :query_interactive do
>       on roles(:all) do |host|
>         info capture("[[ $- == *i* ]] && echo 'Interactive' || echo 'Not
> interactive'") + " on #{host}"
>       end
>     end
>
>
>     desc "Check if ssh connexion is Login shell"
>     task :query_login do
>       on roles(:all) do |host|
>         info capture("shopt -q login_shell && echo 'Login shell' || echo
> 'Not login shell'")  + " on #{host}"
>       end
>     end
>
> The result is that it is : *Not Interactive* and *Not login shell* though
> ~/.bashrc is read each time ! ^^
>
> douglas@bilbo:/var/www/odpf$ bundle exec cap production test_odpf:
> query_login
> DEBUG [92119b95] Running /usr/bin/env shopt -q login_shell && echo 'Login
> shell' || echo 'Not login shell' on phisa-odpf-vd.vserver.nimag.net
> DEBUG [92119b95] Command: shopt -q login_shell && echo 'Login shell' ||echo 
> 'Not
> login shell'
> DEBUG [92119b95] === Lancement de /home/rvm_admin/.bashrc ===
> DEBUG [92119b95] Not login shell
> DEBUG [92119b95] Finished in 0.638 seconds with exit status 0 (successful
> ).
>  INFO === Lancement de /home/rvm_admin/.bashrc ===
> *Not login shell on myserver.**net*
> douglas@bilbo:/var/www/odpf$
> douglas@bilbo:/var/www/odpf$ bundle exec cap production test_odpf:
> query_interactive
> DEBUG [1275aad9] Running /usr/bin/env [[ $- == *i* ]] && echo
> 'Interactive' || echo 'Not interactive' on phisa-odpf-vd.vserver.nimag.net
> DEBUG [1275aad9] Command: [[ $- == *i* ]] && echo 'Interactive' || echo 'Not
> interactive'
> DEBUG [1275aad9] Finished in 0.617 seconds with exit status 0 (successful
> ).
> DEBUG [1275aad9] === Lancement de /home/rvm_admin/.bashrc ===
> DEBUG [1275aad9] Not interactive
> DEBUG [1275aad9] Finished in 0.617 seconds with exit status 0 (successful
> ).
>  INFO === Lancement de /home/rvm_admin/.bashrc ===
> *Not interactive on myserver.net*
>
> There is something weird going on here and I don't know why ???
>
>
>
>
> Le mardi 14 janvier 2014 12:16:47 UTC+1, Lee Hambley a écrit :
>
>> First up, try this: http://capistranorb.com/documentation/faq/why-does-
>> something-work-in-my-ssh-session-but-not-in-capistrano/ Some of the
>> content towards the end of that page is important.
>>
>> The output === Lancement de /home/rvm_admin/.bashrc === indicates that
>> you have something loading, which shouldn't. We have always recommended
>> against using a pty especially as we can't guarantee what happen in
>> those scripts, and how it might break your environment in the scripting
>> context.
>>
>> If you don't want to use a PTY (see below, for why you need the
>> workaround) simply add set(:pty, false) somewhere early in your code.
>> Along with the other set() lines is early enough.
>>
>> It looks like you are using a version of Capistrano which still defaulted
>> to using a pty by default (a mistake on our side) I suggest you try
>> upgrading, and using Capistrano from master until we throw out the new
>> release which certainly has that corrected, although any revision after
>> 3.0.1 (from the Git history) should be fine.
>>
>> I can't explain why your ssh session is timing out, but whatever your
>> .bashrc is doing is certainly not helping.
>>
>> Lee Hambley
>>
>>>
>>>  --
> You received this message because you are subscribed to the Google Groups
> "Capistrano" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to capistrano+unsubscr...@googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/capistrano/516fa71c-f42a-462b-a837-8045bfd776f6%40googlegroups.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to capistrano+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/capistrano/CAN_%2BVLVR02sr1vrG%2BwpGbQkS4i5t49Ljo5gbwZMGBauyim4k-w%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to