I'm not real keen on the concept of leaving files around with login credentials though your suggestion makes sense, it's less than optimal for credentials.
I was trying to set a constant or an instance variable that would ask the user for the credentials and then be durable in multiple chained tasks (before/after) and in the various namespaces. Thanks Craig On Nov 14, 2011, at 8:12 PM, Donovan Bray wrote: > For variables that I need to supply but don't want to check in; I create a > secrets.rb ignore it with your scm then require it from your deploy.rb > > I usually check in a secrets.rb.template that includes the values I expect to > be set but with bogus content for the values. Just so another developer or > myself remember what needs to go in there. > > In a new checkout you'd copy secrets.rb.template to secrets.rb fix the values > in secrets.rb then your back in business. > > On Nov 14, 2011, at 2:09 PM, Craig White <[email protected]> wrote: > >> Having now separated 2 deployments into different namespaces, I am >> struggling trying to figure out how to not have to keep entering credentials >> (both user & svn) for consecutive activities from a single task. ie... >> >> namespace deploy do >> task :cold do >> system "cap #{stage} deploy:setup" >> system "cap #{stage} code:tag deploy" >> system "cap #{stage} i18n:tag deploy" >> end >> ... >> end >> >> namespace i18n do >> task :tag do >> ... >> end >> end >> >> and this near the top of the file (before the namespace) >> set :user, proc{Capistrano::CLI.ui.ask("Your SSH user login: ")} >> set :password, proc{Capistrano::CLI.password_prompt('Your SSH user >> password:' )} >> set :svn_user, Proc.new { Capistrano::CLI.ui.ask('Your svn username: ') } >> >> clearly causes it to ask each time, so I have been trying to set constants >> but that always is a problem >> >> and I've got this but it never passes the user/pass variables through to >> namespaces... >> >> def ask_for_credentials >> prompter = HighLine.new >> >> user = `logname` >> name_question = <<-EOD.gsub(/^ /, '') >> >> >> -------------------------------------------------------------------------------- >> EOD >> name_question << " SVN user : " >> >> pass = nil >> user = prompter.ask(name_question.dup, String){|q| q.default = user} >> pass_question = " SVN password: " >> >> while pass.nil? or pass.strip.empty? >> pass = prompter.ask(pass_question){|q| q.echo = "*"} >> end >> [user, pass] >> end >> >> any suggestions? -- * 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
