Mina: ์ž˜๋ชป๋œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ์ธํ•ด `vendor/bundle` ๊ฒฝ๋กœ์— ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 04์›” 16์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mina-deploy/mina

์•ˆ๋…•ํ•˜์„ธ์š”. ๋ฐฐํฌํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ €๋Š” ๋ฃจ๋น„ 2.2.3์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.
์–ด๋–ป๊ฒŒ ๊ณ ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ค๋ฅ˜:
์ž˜๋ชป๋œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋•Œ๋ฌธ์— vendor/bundle ๊ฒฝ๋กœ์— ์„ค์น˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ œ๊ฑฐํ•˜๋‹ค
๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

```desc "ํ˜„์žฌ ๋ฒ„์ „์„ ์„œ๋ฒ„์— ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค."
task :deploy => :environment do
on :before_hook do
# ssh ์ „์— ๋กœ์ปฌ์—์„œ ์‹คํ–‰ํ•  ํ•ญ๋ชฉ์„ ๋„ฃ์Šต๋‹ˆ๋‹ค.
๋
๋ฐฐํฌ
# ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์™„์ „ํ•œ ์„ค์ •์— ๋„ฃ์Šต๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ์˜ # ์ธ์Šคํ„ด์Šค.
' git:clone ' ํ˜ธ์ถœ
ํ˜ธ์ถœ:' ๋ฐฐํฌ:link_shared_paths '
ํ˜ธ์ถœ:' ๋ฒˆ๋“ค:์„ค์น˜ '
#invoke :' ๋ ˆ์ผ์Šค:db_load '
#invoke : 'load_db_schema'
ํ˜ธ์ถœ:' rails:db_migrate '
ํ˜ธ์ถœ:' rails:assets_precompile '
ํ˜ธ์ถœ:' ๋ฐฐํฌ: ์ •๋ฆฌ '

on :launch do      
  command "mkdir -p #{fetch(:deploy_to)}/#{fetch(:current_path)}/tmp/"
  command "touch #{fetch(:deploy_to)}/#{fetch(:current_path)}/tmp/restart.txt"
end

๋
๋
```

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋ˆ„๋ฝ๋œ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ํŒŒ์ผ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ์ค‘๋‹จ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. mina setup ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

๋‚˜๋Š” ๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ invoke :'deploy:link_shared_paths' ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž‘์—…์— ์ฃผ์„์„ ๋‹ฌ๋ฉด mina deploy๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ˆ„๋ฝ๋œ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” ํŒŒ์ผ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด ์ค‘๋‹จ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. mina setup ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ์ƒˆ ๊ณต์œ  ํด๋”๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ์„ค์ •์„ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๊ฒฐํ–ˆ๋‹ค.

task :deploy do
  deploy do
    invoke :'rbenv:load'
    ...
  end
  ...
end

rbenv์˜ ๊ฒฝ์šฐ.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰