Mina: ํฌํ•จ๋œ gem์—์„œ๋งŒ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์ž์‚ฐ ์‚ฌ์ „ ์ปดํŒŒ์ผ

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

mina๋Š” ์ž์‚ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ gem(Rails ์—”์ง„)์—์„œ๋งŒ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์‚ฌ์ „ ์ปดํŒŒ์ผ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ์ฒดํฌ ์ธ ๋””ํ”Œ๋กœ์ด ๋ธ”๋ก์œผ๋กœ ์‚ฌ์ „ ์ปดํŒŒ์ผ์„ ์„ ํƒ์ ์œผ๋กœ ๊ฐ•์ œํ•จ์œผ๋กœ์จ ์ด ๊ฐ„๊ณผ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

deploy do
  if hash.extras.include?("compile")
    invoke :'rails:assets_precompile:force'
  else
    invoke :'rails:assets_precompile'
  end
end

๊ทธ๋ฆฌ๊ณ  ๋‹ฌ๋ฆฌ๊ธฐ

mina deploy[compile]

gem์˜ ์ž์‚ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— mina๋ฅผ ๋…ธ์ถœ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•  ๊ตฌ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ ์•„๋‹ˆ๋ฉด ์•„์ง ๊ฐœ๋ฐœ๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๊นŒ?

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

์˜ฌ๋ฐ”๋ฅธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” force_asset_precompile=true

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

๋‚ด๊ฐ€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ๋งž๋‹ค๋ฉด ์ผ๋ถ€ ์„ค์ •์„ ๋ฐฐํฌ ์„น์…˜์— ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ•ญ์ƒ ๊ทœ์น™์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

set :force_precompile, -> { true }

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ ๋‚˜์ค‘์— ์ด ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

deploy do
  if force_precompile
    invoke :'rails:assets_precompile:force'
  else
    invoke :'rails:assets_precompile'
  end
end

๋ง์ด ๋ฉ๋‹ˆ๊นŒ?

์ฝ”๋“œ์™€์ด์ฆˆ - ์•„๋‹ˆ์š”. hash.extras ์— "์ปดํŒŒ์ผ"์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ set ์ง€์‹œ๋ฌธ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ธฐ๋Šฅ๋ฉด์—์„œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ž์‚ฐ ๋ณ€๊ฒฝ์ด ๊ฐ์ง€๋˜๋ฉด "์Šค๋งˆํŠธ" ์‚ฌ์ „ ์ปดํŒŒ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ‘œ์ค€ mina deploy ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ด ๊ฐ์ง€๋Š” gem์˜ ์ž์‚ฐ์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

env ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์‚ฐ ์ปดํŒŒ์ผ์„ ๊ฐ•์ œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mina deploy force_assets=true

์˜ฌ๋ฐ”๋ฅธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” force_asset_precompile=true

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