버전 관리 및 빌드

μ „λ¬Έ ν”„λ‘œμ νŠΈλŠ” μ‹ λ’°ν•  수 μžˆλŠ” 버전 관리와 ν‘œμ€€ν™”λœ λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μš”κ΅¬ν•©λ‹ˆλ‹€.
LinoλŠ” 각 μ„œλΉ„μŠ€μ˜ 버전을 κ΄€λ¦¬ν•˜κΈ° μœ„ν•΄ Semantic Versioning(SemVer)을 μ‚¬μš©ν•˜λ©°, μ„œλΉ„μŠ€μ˜ ν˜„μž¬ 버전에 따라 이름이 μ§€μ •λœ Docker 이미지λ₯Ό μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

μ„œλΉ„μŠ€ 버전 관리

Lino의 각 μ„œλΉ„μŠ€λŠ” 독립적인 버전 관리λ₯Ό κ°€μ§€κ³  μžˆμ–΄, 전체 동기화 없이 각기 λ‹€λ₯Έ μ†λ„λ‘œ λ°œμ „ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

SemVer ν‘œμ€€

MAJOR.MINOR.PATCH
  • MAJOR β†’ ν˜Έν™˜λ˜μ§€ μ•ŠλŠ” λ³€κ²½ 사항 (breaking changes).
  • MINOR β†’ ν˜Έν™˜ κ°€λŠ₯ν•œ μƒˆλ‘œμš΄ κΈ°λŠ₯.
  • PATCH β†’ 버그 μˆ˜μ • 및 λ‚΄λΆ€ κ°œμ„ .

μ˜ˆμ‹œ:
1.0.0 β†’ 첫 번째 μ•ˆμ • 버전.
1.1.0 β†’ ν˜Έν™˜μ„±μ„ κΉ¨μ§€ μ•Šκ³  μƒˆλ‘œμš΄ μ—”λ“œν¬μΈνŠΈ μΆ”κ°€.
2.0.0 β†’ ν΄λΌμ΄μ–ΈνŠΈ μ—…λ°μ΄νŠΈκ°€ ν•„μš”ν•œ λ³€κ²½ 사항.

lino version λͺ…λ Ήμ–΄

CLIλŠ” 버전 증가λ₯Ό λ„€μ΄ν‹°λΈŒλ‘œ μ§€μ›ν•©λ‹ˆλ‹€:

lino version bump

μΈν„°λž™ν‹°λΈŒ λ§ˆλ²•μ‚¬κ°€ 증가 μœ ν˜•(major, minor, patch)을 μ„ νƒν•˜λ„λ‘ μ•ˆλ‚΄ν•˜λ©°, μ„œλΉ„μŠ€ μ„€μ • νŒŒμΌμ„ μƒˆλ‘œμš΄ λ²„μ „μœΌλ‘œ μžλ™ μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.

각 μ‹€ν–‰λ§ˆλ‹€ μ„œλΉ„μŠ€ 버전 λ§€λ‹ˆνŽ˜μŠ€νŠΈκ°€ μ—…λ°μ΄νŠΈλ˜μ–΄ λ‹€μŒμ„ 보μž₯ν•©λ‹ˆλ‹€:

  • λͺ…ν™•ν•œ λ³€κ²½ 좔적.
  • 릴리슀 κ΄€ν–‰κ³Όμ˜ 일관성.
  • CI/CD νŒŒμ΄ν”„λΌμΈκ³Όμ˜ μ •λ ¬.

Docker 이미지 λΉŒλ“œ

LinoλŠ” 각 μ„œλΉ„μŠ€ 및 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ²„μ „λ§ˆλ‹€ Docker 이미지λ₯Ό μžλ™μœΌλ‘œ μƒμ„±ν•˜μ—¬ μˆ˜λ™ μž‘μ—…μ„ μ œκ±°ν•©λ‹ˆλ‹€.

λͺ…λͺ… κ·œμΉ™:

project-name/services/service-name : major.minor.patch

μ΄λ―Έμ§€λŠ” λͺ¨λ“  λ ˆμ§€μŠ€νŠΈλ¦¬μ— κ²Œμ‹œν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  • Docker Hub
  • GitHub Container Registry
  • AWS ECR
  • Azure Container Registry
  • λ˜λŠ” 기타 ν˜Έν™˜ κ°€λŠ₯ν•œ λ ˆν¬μ§€ν† λ¦¬.

lino build λͺ…λ Ήμ–΄

Docker 이미지λ₯Ό μ»΄νŒŒμΌν•˜κ³  μƒμ„±ν•˜λ €λ©΄ λ‹€μŒμ„ μ‹€ν–‰ν•˜μ„Έμš”:

lino build

이 κ³Όμ •μ—μ„œ μˆ˜ν–‰λ˜λŠ” μž‘μ—…:
1. μ„œλΉ„μŠ€ 및/λ˜λŠ” μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ½”λ“œ 컴파일.
2. ν•„μš”ν•œ μ„€μ •(μ—°κ²° λ¬Έμžμ—΄, μ‹œν¬λ¦Ώ, ν™˜κ²½ λ³€μˆ˜) 적용.
3. ν˜„μž¬ SemVer 버전을 기반으둜 Docker 이미지 생성.
4. 이미지에 ν‘œμ€€ν™”λœ 이름과 νƒœκ·Έ μ§€μ •.

이 ν”„λ‘œμ„ΈμŠ€λŠ” μΌκ΄€λ˜κ³  μž¬ν˜„ κ°€λŠ₯ν•œ λΉŒλ“œλ₯Ό 보μž₯ν•˜λ©°, ν”„λ‘œλ•μ…˜ ν™˜κ²½μ˜ 였λ₯˜λ₯Ό 쀄이고 CI/CD νŒŒμ΄ν”„λΌμΈμ—μ„œ 배포 속도λ₯Ό λ†’μž…λ‹ˆλ‹€.

λ”°λΌμ„œ LinoλŠ” μ„œλΉ„μŠ€λ³„ 독립 버전 관리와 μžλ™ν™”λœ λΉŒλ“œ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ²°ν•©ν•˜μ—¬ 릴리슀 κ±°λ²„λ„ŒμŠ€λ₯Ό μ œκ³΅ν•˜κ³  λͺ¨λ“  ν™˜κ²½μ—μ„œ μ‹ λ’°ν•  수 μžˆλŠ” 배포λ₯Ό μ‹€ν˜„ν•©λ‹ˆλ‹€.

처리되지 않은 오류가 발생했습니다. 새로 고침 πŸ—™