Mina: ENV рд╡реИрд░рд┐рдПрдмрд▓ рдХреИрд╕реЗ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдХреНрддреВре░ 2012  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: mina-deploy/mina

рдЬреЗрдордлрд╛рдЗрд▓ рд▓рд╛рдЗрди рд╣реИ

рдЬреЗрдо 'рд╕реНрдкреНрд░реА', '1.2.0', :git => "https://#{ENV['GUSER']}:#{ENV['GPASS']}@bitbucket.org/constella/spree.git" , :рд╢рд╛рдЦрд╛ => "1-2-рд╕реНрдерд┐рд░"

рдореИрдВ рдЪрд░ GUSER рдФрд░ GPASS рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рд╕рд░реНрд╡рд░ рдкрд░ .bashrc - рдирд╣реАрдВ
рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ - рдирд╣реАрдВ
рдХрддрд╛рд░! рддреИрдирд╛рддреА рдореЗрдВ "рдирд┐рд░реНрдпрд╛рдд GUSER=memo" - рдирд╣реАрдВ

рдЖрдк Gemfile рдореЗрдВ рдмрджрд▓ рдЧрдП рд╣реИрдВ:
* https://:@bitbucket.org/constella/spree.git (at 1-2-stable) рд╕реЗ no specified source . рддрдХ рд╣реЛрдбрд╝

рддреНрд░реБрдЯрд┐: рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдлрд▓ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@rstacruz

рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ task :env do рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ? рдпрд╣ ENV рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП set :bundle_prefix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рд╕рднреА 10 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдПрдХ environment_variables рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рдХрдорд╛рдВрдб рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдЪрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП bundle_bin рдЪрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХреЗрдВ:

set :bundle_bin, 'GUSER=xxx GPASS=yyy bundle'

рд╕реЗрдЯ рдХрд░реЗрдВ: рдмрдВрдбрд▓_рдмрд┐рди, 'GUSER=xxx GPASS=yyy рдмрдВрдбрд▓'

рдпрд╣ рдареАрдХ рд╣реИ !!!! рдзрдиреНрдпрд╡рд╛рдж

рдХреЛрд╢рд┐рд╢:

рдХрд╛рд░реНрдп: env do
рдХрддрд╛рд░ %[NAME="рдирдорд╕реНрддреЗ"]
рд╕рдорд╛рдкреНрдд

30 рдЕрдХреНрдЯреВрдмрд░ 2012 рдХреЛ рд╢рд╛рдо 6:11 рдмрдЬреЗ рд╕рд╛рдЗрдорди рдХреЛрд░реНрдЯреЛрдЗрд╕ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг_рдЪрд░ рдЪрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рдХрдорд╛рдВрдб рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ рдЗрд╕ рдкрд░ рджреЗрдЦреЗрдВ
рдЬреАрдЖрдИ рдердм https://github.com/nadarei/mina/issues/65#issuecomment -9900324ред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

task :env do
   queue %[NAME="hello"]
end

рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп .bashrc рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (IMHO рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ!), рддреЛ рдЖрдкрдХреЛ рдЪрд░ export рдЪрд╛рд╣рд┐рдП:

# .bashrc
export NAME="hello"

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрднреА рднреА рдХреЛрдИ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ? рдЕрдЪреНрдЫрд╛рдИ рджреБ: рдЦ! рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдерд╛рдВрдЧ рдХреЛ рдлреЛрд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ env-var рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рддрдм рддрдХ рд╣рдо рдПрдХ рдмрдбрд╝реЗ рд╕рдордп рдХреЗ рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рдо рдЕрдкрдиреЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ

рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рддрд╣рдд рд╣рдо рдбрд╛рд▓рддреЗ рд╣реИрдВ:

# Non-cowboys, don't try this in production.
set :ssh_options, %{export #{File.open(".env").readlines.map(&:chomp).join(" ")}}

рдЖрдк рд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕реБрдВрджрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реА рддреИрдирд╛рддреА рдХреЛ рд╣реЗрд░реЛрдХреВ-рдЯрд╛рдЗрдЬ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред

рд╣реИрдкреНрдкреА рд╣реИрдХрд┐рдВрдЧ,
рд╢реНрд░реЗрд╖реНрдаред
рдЯреЗрдб

рдореИрдВ Figaro . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ

'рдпрдорд▓' рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рд╕реЗрдЯ :var_from_env, -> { YAML.load_file(./config/application.yml")["ENV_VAR"] }

@rstacruz

рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдХреНрдпрд╛ task :env do рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ? рдпрд╣ ENV рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП set :bundle_prefix рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

@ рд▓реБрд▓рд╛рд▓рд▓рд╛ рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛!

рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдмрдВрдбрд▓_рдкреНрд░рд┐рдлрд╝рд┐рдХреНрд╕ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ:

set :bundle_prefix, 'env $(cat .env | xargs) bundle exec '

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

krishnateja picture krishnateja  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Epigene picture Epigene  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

devvmh picture devvmh  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Bilge picture Bilge  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sosedoff picture sosedoff  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ