다음은 GitLab을 포함한 Git 환경에서 레포지토리의 일부 코드나 디렉터리만 가져오는 5가지 방법을 한 번에 보기 쉽게 정리한 표입니다. Git LFS 구분 Sparse CheckoutSubmodule Subtree Archive Git LFS개념한 저장소의 특정 폴더만 체크아웃하여 사용하는 방식독립된 별도의 저장소를 하위 모듈로 참조하는 방식독립된 저장소의 히스토리를 병합(merge)하는 방식특정 파일이나 디렉터리를 압축하여 가져오는 방식큰 파일을 별도의 저장소로 관리하는 방식히스토리 관리전체 히스토리 존재독립된 별도의 히스토리 관리 가능병합 시 히스토리 통합 가능히스토리 보존 불가능 (파일만 가져옴)메타정보는 히스토리 보존, 실제 파일은 별도 저장관리 편의성✅ 쉬움 (심플함)⚠️ 보통 (조금 복..
📚 Docker Compose란?Docker Compose는 여러 개의 Docker 컨테이너로 구성된 애플리케이션을 쉽게 정의하고 실행할 수 있게 해주는 도구입니다. 복잡한 환경 설정을 하나의 docker-compose.yml 파일로 관리할 수 있습니다.장점:멀티 컨테이너 앱의 설정을 쉽고 명확하게 관리서비스 간 네트워크 자동 설정 및 환경변수 관리확장성과 유지보수 용이성 향상📌 Docker Compose의 핵심 용어서비스(Service): 실행할 애플리케이션 컨테이너볼륨(Volume): 데이터를 영구적으로 저장하는 공간네트워크(Network): 서비스 간 통신을 위한 네트워크 공간환경변수(Environment Variables): 컨테이너 내부 설정 값 관리🚩 1. 간단한 서비스 하나 실행하기간단..
scratch 컨테이너는 완전히 비어 있는(minimal) 베이스 이미지입니다.💡 즉, OS도 없고, 쉘도 없고, 패키지 관리 도구도 없는 "완전한 빈 컨테이너"입니다.일반적으로 가장 작은 크기의 컨테이너를 만들 때 사용됩니다.✅ Scratch 컨테이너의 특징항목 설명기본 이미지 크기0MB (아무것도 없음)OS 포함 여부❌ 없음패키지 관리자 (apt, apk 등)❌ 없음쉘 (sh, bash 등)❌ 없음라이브러리 (glibc, musl 등)❌ 없음사용 예시네이티브 바이너리 실행, 정적 링크된 프로그램즉, Scratch 컨테이너는 오직 실행 파일만 존재하는 컨테이너입니다.alpine 같은 가벼운 컨테이너도 OS와 기본 라이브러리가 포함되어 있지만, scratch는 그런 것도 없습니다.🚀 Scratch 컨..
멀티 레포(Multi-Repo)와 모노레포(Mono-Repo)는 소스코드를 관리하는 방식에 따른 전략입니다. 각각의 특징과 장단점, 그리고 선택 시 고려할 점을 정리해 드리겠습니다.1. 멀티 레포(Multi-Repo) 방식멀티 레포는 서비스 또는 모듈별로 개별 Git 저장소(repository)를 사용하는 방식입니다.✅ 장점명확한 경계 설정서비스 간 명확한 경계를 두어 관리할 수 있음독립적인 관리 용이독립적인 CI/CD 및 배포 프로세스를 가질 수 있음세분화된 접근 권한 설정프로젝트마다 다른 접근권한과 관리 정책 설정 가능독립적인 버전 관리모듈별 독립적 버전 관리와 배포 가능❌ 단점의존성 관리 복잡성 증가여러 레포지토리 간의 의존성 관리가 어렵고 복잡함코드 중복 가능성 증가공통 코드의 재사용이 쉽지 않아..