πŸš€ Tilt: μ‹€μ‹œκ°„ Dev ν™˜κ²½ ν˜μ‹  가속기

Dev Loop μžλ™ν™” 도ꡬ μ†Œκ°œ ; Tilt

κ°œλ°œμžκ°€ kubectl apply 없이도, 변경사항을 μ‹€μ‹œκ°„μœΌλ‘œ ν΄λŸ¬μŠ€ν„°μ— λ°˜μ˜ν•˜κ³  ν…ŒμŠ€νŠΈν•  수 있게 λ„μ™€μ£ΌλŠ” Dev Loop μžλ™ν™” λ„κ΅¬μž…λ‹ˆλ‹€.

TiltλŠ” 둜컬 개발과 ν΄λΌμš°λ“œ ν™˜κ²½μ˜ 간극을 쀄여, 반볡 배포 μ‹œκ°„ 단좕 :hourglass_not_done:, 디버깅 속도 ν–₯상 :test_tube:, νŒ€ ν˜‘μ—… κ°€μ‹œμ„± κ°•ν™” :eyes:λ₯Ό μ‹€ν˜„ν•©λ‹ˆλ‹€.

:compass: 즉각적인 μ½”λ“œ λ³€κ²½ 반영 β€” μ½”λ“œλ₯Ό μ €μž₯ν•˜μžλ§ˆμž λΉŒλ“œΒ·λ°°ν¬κΉŒμ§€ μžλ™ 처리

:repeat_button: μΌκ΄€λœ 개발 ν™˜κ²½ μœ μ§€ β€” νŒ€ 전체가 λ™μΌν•œ ν™˜κ²½μ—μ„œ μž‘μ—…

:toolbox: ν’λΆ€ν•œ ν™•μž₯μ„± β€” CI/CD와 μžμ—°μŠ€λŸ½κ²Œ 연동 κ°€λŠ₯

μ‹€μ œ ν˜„μž₯μ—μ„œλŠ” λͺ‡ κ°€μ§€ 반볡적으둜 λ°œμƒν•˜λŠ” λ¬Έμ œλ“€ :high_voltage:

  • λŒ€ν‘œμ μΈ μ˜ˆλ‘œλŠ” :brick: λ‹€λ₯Έ Tilt Binary(예: Ruby용)μ™€μ˜ 이름 좩돌둜 μΈν•œ μ‹€ν–‰ 였λ₯˜, :spouting_whale: Image BuildλŠ” λ˜μ—ˆμ§€λ§Œ 배포 섀정이 μ—†μ–΄ λ°œμƒν•˜λŠ” 비정상 μƒνƒœ, :electric_plug: 잘λͺ»λœ Cluster μ—°κ²° μ„€μ •, :no_entry: λΆˆν•„μš”ν•œ 원격 μ €μž₯μ†Œ Push 등이 μžˆμŠ΅λ‹ˆλ‹€. 이런 문제λ₯Ό μ˜ˆλ°©ν•˜κ³  λΉ λ₯΄κ²Œ λŒ€μ‘ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ‹€μŒκ³Ό 같은 κΈ°λ³Έ 원칙이 μ€‘μš”ν•©λ‹ˆλ‹€.
  1. 첫째, docker_build와 k8s_yaml λ“± λΉŒλ“œ 및 배포 κ΄€λ ¨ 섀정이 Tiltfile에 λͺ¨λ‘ ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ 확인해야 ν•œλ‹€.

  2. λ‘˜μ§Έ, kubectl config current-context λͺ…λ Ήμ–΄λ₯Ό 톡해 ν˜„μž¬ Tiltκ°€ μ–΄λ–€ ν΄λŸ¬μŠ€ν„°λ₯Ό 바라보고 μžˆλŠ”μ§€ μ κ²€ν•˜κ³ , ν•„μš”ν•  경우 μ˜¬λ°”λ₯Έ μ»¨ν…μŠ€νŠΈλ‘œ μ „ν™˜ν•œλ‹€.

  3. μ…‹μ§Έ, 둜컬 개발 ν™˜κ²½μ—μ„œλŠ” 원격 μ €μž₯μ†Œλ‘œ ν‘Έμ‹œν•˜λŠ” λΆˆν•„μš”ν•œ 단계λ₯Ό μ œκ±°ν•˜κ³ , 둜컬 ν΄λŸ¬μŠ€ν„° λ‚΄λΆ€μ—μ„œ 직접 λΉŒλ“œν•˜λ„λ‘ μ„€μ •ν•˜λŠ” 것이 νš¨μœ¨μ μ΄λ‹€.

  4. λ„·μ§Έ, 원격 Docker μ„œλ²„λ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λŠ” DOCKER_HOST, DOCKER_API_VERSION λ“±μ˜ ν™˜κ²½ λ³€μˆ˜λ₯Ό μ •ν™•νžˆ μ„€μ •ν•΄ μ£Όμ–΄μ•Ό ν•œλ‹€.