Daily/Today I Learned

22.08.08_TIL

ν˜Έλ°€μ΄ 2022. 8. 8. 09:28

πŸ“Œ AWS, Firebase만 μ‚¬μš©ν–ˆλ˜ λ‚˜μ—κ²Œ Vercel은 μ²˜μŒλ³΄λŠ” 배포 방법이닀. λ°°ν¬ν•˜λŠ” 방법을 많이 μ•Œμ•„λ΄μ•Όκ² λ‹€!

πŸ“— 였늘 ν•™μŠ΅ν•œ λ‚΄μš©

배포 μžλ™ν™”

  • ν•œλ²ˆμ˜ 클릭 ν˜Ήμ€ λͺ…λ Ήμ–΄ μž…λ ₯을 톡해 전체 배포 과정을 μžλ™μœΌλ‘œ μ§„ν–‰ν•˜λŠ” 것을 λœ»ν•œλ‹€.

배포 μžλ™ν™”κ°€ ν•„μš”ν•œ 이유

  • λ¨Όμ € μˆ˜λ™μ μ΄κ³  반볡적인 배포 과정을 μžλ™ν™”ν•¨μœΌλ‘œμ¨ μ‹œκ°„μ΄ μ ˆμ•½λ©λ‹ˆλ‹€.
  • 휴먼 μ—λŸ¬(Human Error)λ₯Ό 방지할 수 μžˆλ‹€.
    • *휴먼 μ—λŸ¬: μ‚¬λžŒμ΄ μˆ˜λ™μ μœΌλ‘œ 배포 과정을 μ§„ν–‰ν•˜λŠ” 쀑에 μƒκΈ°λŠ” μ‹€μˆ˜λ“€μ„  λœ»ν•œλ‹€.

배포 μžλ™ν™” νŒŒμ΄ν”„λΌμΈ

  • μ†ŒμŠ€ μ½”λ“œμ˜ 관리뢀터 μ‹€μ œ μ„œλΉ„μŠ€λ‘œμ˜ 배포 과정을 μ—°κ²°ν•˜λŠ” ꡬ쑰λ₯Ό λœ»ν•œλ‹€.
    1. Source 단계: 원격 μ €μž₯μ†Œμ— κ΄€λ¦¬λ˜κ³  μžˆλŠ” μ†ŒμŠ€ μ½”λ“œμ— λ³€κ²½ 사항이 일어날 경우, 이λ₯Ό κ°μ§€ν•˜κ³  λ‹€μŒ λ‹¨κ³„λ‘œ μ „λ‹¬ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
    2. Build 단계: Source λ‹¨κ³„μ—μ„œ 전달받은 μ½”λ“œλ₯Ό 컴파일, λΉŒλ“œ, ν…ŒμŠ€νŠΈν•˜μ—¬ κ°€κ³΅ν•©λ‹ˆλ‹€. λ˜ν•œ Build 단계λ₯Ό 거쳐 μƒμ„±λœ 결과물을 λ‹€μŒ λ‹¨κ³„λ‘œ μ „λ‹¬ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.
    3. Deploy 단계:  Build λ‹¨κ³„λ‘œλΆ€ν„° 전달받은 결과물을 μ‹€μ œ μ„œλΉ„μŠ€μ— λ°˜μ˜ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

CI/CD νŒŒμ΄ν”„λΌμΈ

  • Plan → Code → Build → Test → Release → Deploy → Operate → Plan

지속적 톡합 (CI, Continuous Integration)

  • νŒ€ ꡬ성원이 각자의 μž‘μ—…μ„ 자주 ν†΅ν•©ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 개발 방식이닀.
    • Code: κ°œλ°œμžκ°€ μ½”λ“œλ₯Ό μ½”λ“œ μ €μž₯μ†Œμ— pushν•œλ‹€.
    • Build: μ½”λ“œ μ €μž₯μ†Œλ‘œλΆ€ν„° μ½”λ“œλ₯Ό κ°€μ Έμ™€μ„œ λΉŒλ“œν•œλ‹€.
    • Test: μ½”λ“œ λΉŒλ“œμ˜ 결과물이 λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμ™€ 잘 ν†΅ν•©λ˜λŠ”μ§€ ν™•μΈν•œλ‹€.
  • λͺ¨λ“  μ½”λ“œ λ³€ν™”λ₯Ό ν•˜λ‚˜μ˜ λ ˆν¬μ§€ν† λ¦¬μ—μ„œ κ΄€λ¦¬ν•˜λŠ” 것 λΆ€ν„° μ‹œμž‘ν•œλ‹€.
  • λͺ¨λ“  κ°œλ°œνŒ€μ΄ μ½”λ“œμ˜ λ³€ν™”λ₯Ό 확인할 수 있기 λ•Œλ¬Έμ—, 투λͺ…ν•˜κ²Œ λ¬Έμ œμ μ„ νŒŒμ•…ν•  수 μžˆλ‹€.
  • μž¦μ€ ν’€ λ¦¬ν€˜μŠ€νŠΈμ™€ λ¨Έμ§€λ‘œ μ½”λ“œλ₯Ό 자주 ν†΅ν•©ν•˜μ—¬ 기본적인 ν…ŒμŠ€νŠΈλ„ μž‘λ™μ‹œν‚¬ 수 μžˆλ‹€.
  • 지속적 톡합을 톡해 κ°œλ°œνŒ€μ€ 각자 κ°œλ°œν•œ μ½”λ“œλ₯Ό 이λ₯Έ μ‹œμ μ—, 자주 ν•©μΉ˜κ³ , 자주 ν…ŒμŠ€νŠΈ ν•΄λ³Ό 수 μžˆλ‹€.

지속적 배포(CD, Continuous Delivery, Continuous Deployment)

  • 지속적 톡합 과정이 μ›ν™œν•˜κ²Œ λλ‚˜λ©΄ λ°”λ‘œ κ³ κ°μ—κ²Œ λ°°ν¬ν•˜λŠ” 것이닀.

지속적 배포 κ³Όμ •

  • Release: λΉŒλ“œκΉŒμ§€ λͺ¨λ‘ μ€€λΉ„κ°€ λ˜μ—ˆκ³ , μ–΄λ–€ κΈ°λŠ₯이 κ°œλ°œλ˜μ—ˆλŠ”μ§€ λΉ„μ¦ˆλ‹ˆμŠ€ κ΄€κ³„μžλ“€κ³Ό 이야기λ₯Ό λ‚˜λˆ„λŠ” 단계이닀. μ–΄λ–€ κΈ°λŠ₯을 넣을지, ν•΄λ‹Ή λ¦΄λ¦¬μ¦ˆλŠ” 배포λ₯Ό 할지 말지 κ²°μ •ν•˜λŠ” λ‹¨κ³„λ‘œ μ—¬λŸ¬ μ˜μ‚¬κ²°μ •μ΄ 이루어진닀.
  • Deploy: μ‹€μ œ λ°°ν¬ν•œλ‹€.
  • Operation: 배포된 μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ‹€μ œ μš΄μš©ν•˜λŠ” 과정이닀. ν•΄λ‹Ή κ³Όμ •μ—μ„œ 고객의 ν”Όλ“œλ°±μ„ μΆ©λΆ„νžˆ λ°›μ•„ κΈ°νšμ— λ°˜μ˜ν•œλ‹€.

πŸ“˜ μΆ”κ°€λ‘œ 곡뢀할 λ‚΄μš©

[udemy] React μ™„λ²½ κ°€μ΄λ“œ κ°•μ˜ 보기 (맀일 μ‘°κΈˆμ”© 이라도 κΎΈμ€€νžˆ λ“£κΈ°)

Study원과 ν•¨κ»˜ 진행쀑인 ν”„λ‘œμ νŠΈ κ΅¬ν˜„

πŸ“ μ€‘μš”ν•œ λ‚΄μš©

  • 배포 μžλ™ν™”
  • CI/CD
  • Vercel μ‚¬μš©λ²•

'Daily > Today I Learned' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

22.08.10_TIL  (0) 2022.08.09
22.08.09_TIL  (0) 2022.08.09
22.08.05_TIL  (0) 2022.08.05
22.08.04_TIL  (0) 2022.08.04
22.08.03_TIL  (0) 2022.08.03