์๋
ํ์ธ์. ๋ฐฐํฌํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ ๋ ๋ฃจ๋น 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
๋
๋
```
๋๋ ๋ํ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ๊ณ ์์ต๋๋ค.
์ด๊ฒ์ invoke :'deploy:link_shared_paths'
์ ๊ด๋ จ์ด ์์ต๋๋ค. ์ด ์์
์ ์ฃผ์์ ๋ฌ๋ฉด mina deploy๊ฐ ์๋ํฉ๋๋ค.
๋๋ฝ๋ ๋๋ ํ ๋ฆฌ ๋๋ ํ์ผ ๋๋ฌธ์ ์ด๊ฒ์ด ์ค๋จ๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. mina setup
๋ฅผ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์, ์ ๊ณต์ ํด๋๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ์ค์ ์ ์คํํด์ผ ํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ํด๊ฒฐํ๋ค.
task :deploy do
deploy do
invoke :'rbenv:load'
...
end
...
end
rbenv์ ๊ฒฝ์ฐ.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ฝ๋ ๋๋ ํ ๋ฆฌ ๋๋ ํ์ผ ๋๋ฌธ์ ์ด๊ฒ์ด ์ค๋จ๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค.
mina setup
๋ฅผ ์คํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.