버전 관리 및 빌드
μ λ¬Έ νλ‘μ νΈλ μ λ’°ν μ μλ λ²μ κ΄λ¦¬μ νμ€νλ λΉλ νλ‘μΈμ€λ₯Ό μꡬν©λλ€.
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λ μλΉμ€λ³ λ 립 λ²μ κ΄λ¦¬μ μλνλ λΉλ νλ‘μΈμ€λ₯Ό κ²°ν©νμ¬ λ¦΄λ¦¬μ€ κ±°λ²λμ€λ₯Ό μ 곡νκ³ λͺ¨λ νκ²½μμ μ λ’°ν μ μλ λ°°ν¬λ₯Ό μ€νν©λλ€.
