GitLab이란?
소프트웨어 개발을 위한 웹 기반 DevOps 플랫폼으로, Git 저장소 관리, CI/CD 파이프라인, 프로젝트 관리 도구 등을 통합적으로 제공하는 도구
GitHub와 유사하게 GitLab은 Git 버전 관리 시스템을 기반으로 소스 코드 저장소를 호스팅하며, 팀 협업과 소스 코드 버전 관리를 보다 쉽게 할 수 있도록 다양한 기능을 제공한다!
github와 다른점?
깃랩은 지속적 통합/지속적 전달(CI/CD)와 데브옵스 워크플로우를 내장
깃랩은 지라(Jira), 마이크로소프트 팀즈, 슬랙, G메일 같은 애프리케이션 및 플랫폼과 통합을 제공
CI/CD 파이프라인
깃랩은 개발 단계를 자동화하고 보다 짧은 주기로 고객들에게 애플리케이션을 제공할 수 있도록 *지속적인 통합(CI), *지속적인 제공/배포(CD) 과정을 통합하여 하나의 파이프라인을 통해 코드를 작성, 테스트, 배포 및 모니터링할 수 있도록 지원하고 있다.
지속적 통합(CI)
CI(지속적 통합, Continuous Integration): 짧은 주기로 소프트웨어 빌드, 테스트, 컴파일 과정을 자동화하는 것을 의미한다.
위 단계에서는 프로세스 자동화, 공유 저장소 내 코드 통합, 변경사항 자동 기록 및 테스트를 진행한다.
지속적 제공/배포(CD)
CD(지속적 배포, Continous Deploy): 짧은 주기로 소프트웨어를 끊어서 배포하고 그 과정 전체(컴파일 - 빌드 - 테스트 - 배포)를 자동화하는 것을 의미한다.
위 단계에서는 애플리케이션에 변경사항이 생기면 이에 대한 오류 테스트 및 리포지토리에 자동 업로드가 진행되며, 마지막으로 애플리케이션에 변경된 사항을 적용하여 프로덕션 환경으로의 자동 배포가 이루어진다.
명령어 정리
- 새로운 Git 저장소 초기화
git init
- 원격 저장소를 로컬에 복제
git clone <저장소 URL>
- 변경된 파일을 스테이징 영역에 추가
git add <파일명>
- 스테이징 영역에 있는 파일을 로컬 저장소에 커밋
git commit -m "커밋 메시지"
- 로컬에서 변경된 내용을 원격저장소로 푸시
git push origin <브랜치명>
- 원격 저장소에서 최신 변경 사항을 가져와 로컬에 반영
git pull
- 작업 디렉토리의 상태 확인
git status
- 브랜치 목록 확인
git branch
- 새브랜치 생성
git branch <브랜치명>
- 브랜치를 전환하거나 특정 커밋으로 체크아웃 할때
git checkout <브랜치명>
- 다른 브랜치에서 변경된 내용을 현재 브랜치에 병합할때
git merge <브랜치명>
GitLab CI/CD관련 명령어
gitlab-ci.yml 설정
GitLab CI/CD 파이프라인을 사용하려면 프로젝트 루트에 `.gitlab-ci.yml` 파일을 만들어 CI/CD 파이프라인을 정의
yaml
stages:
- build
- test
build_job:
stage: build
script:
- echo "Building the project..."
test_job:
stage: test
script:
- echo "Running tests..."
gitlab-runner 등록
로컬 또는 서버에 GitLab Runner를 설치한 후 등록 가능
gitlab-runner register
CI/CD 파이프라인 실행
밋이나 푸시 시 자동으로 설정된 `.gitlab-ci.yml`에 따라 파이프라인이 실행된다. GitLab 웹 UI에서 파이프라인 상태를 모니터링할 수 있다.
❗ 인턴십 카테고리의 글은 보안상 이슈로 이론이나 저작권이 없는 테스트 코드만 업로드 됩니다.
'Internship' 카테고리의 다른 글
docker compose 설치 (0) | 2024.11.11 |
---|---|
PaddleOCR labelstudio 연결 (7) | 2024.11.09 |
[OpenCV] findContours | 이미지 윤곽선 검출 (2) | 2024.11.08 |
PaddleOCR 이론 및 사용법/ 모듈 에러 (0) | 2024.09.04 |
DVC(Data Version Control) (0) | 2024.09.04 |