[무료 온라인 셀프 실습 워크숍] GitLab CI 워크숍
📌 GitLab CI 워크숍 이란?
이번 워크숍에서는 GitLab CI 및 GitLab 협업 워크플로우를 활용하여, DevOps 방식으로 제품 개발하는 방법을 기초에서 심화로 구분하여 단계별로 따라 하며 익힐 수 있도록 구성하였습니다.
우선 GitLab CI 파이프라인이 작동하는 방식과 GitLab CI에 대한 특정 지침을 구성하는 YAML 파일인 .gitlab-ci.yml의 구성 요소를 이해합니다. 그러고 나서, Spring Boot를 사용하여 Hello World REST API를 구현하고 GitLab CI Pipeline를 구성하여 애플리케이션을 빌드, 테스팅하는 지속적 통합(Continuous Integration)을 수행하는 방법을 이해합니다. 마지막으로, 간단하게 구성된 별다방 주문 애플리케이션의 백엔드(Back-end) REST API를 GitLab 협업 워크플로우 기반으로 구현하여, 실제 실무에서 활용할 수 있는 GitLab CI 파이프라인을 구성하는 방법을 실습합니다.
이번 과정을 통해 얻게 되는 GitLab CI 기술 및 지식은 이후 진행하게 될 지속적 전달(Continuous Delivery, CD) 및 지속적 배포(Continuous Deployment, CD)와 연계됩니다.
📝 배울 수 있어요!
- GitLab을 이용한 Spring Boot 애플리케이션 CI 파이프라인 구축 방법
- JUnit 5, Hamcrest 및 Mockito을 활용한 단위 테스트 코드 작성법 (TDD, BDD)
- GitLab 협업 워크플로우 기반으로 실무 프로젝트 수행 방법
🚀 기대 효과!
- 지속적인 통합을 통해 일반적인 실수를 미연에 방지
- GitLab 워크플로우를 통한 협업 개선
- 반복적인 작업을 자동화하여 개발에만 집중
📢 커리큘럼
Lesson 1 / 기초) Get started with GitLab CI
[목표] GitLab CI 파이프라인 구조 이해
- CI/CD 개념 및 GitLab CI 파이프라인 이해
- .gitlab-ci.yml 파일의 구성요소 이해
[실습] echo 명령어로 GitLab CI 이해하기
- “Hello GitLab CI” 프로젝트 생성
- .gitlab-ci.yml 파일 생성 및 구성
- GitLab CI 파이프라인 실행 및 결과 확인
Lesson 2 / 기본) Basic GitLab CI
[목표] GitLab CI를 이용해 Spring Boot 애플리케이션의 지속적 통합을 수행하는 방법 이해
- Spring Boot를 사용하여 Hello World REST API 구현
- GitLab CI 파이프라인에서 Maven을 이용하여 Spring Boot 애플리케이션 빌드
- GitLab CI 파이프라인에서 JUnit 5를 이용하여 단위 테스트
[실습] Hello World REST API 구현 및 CI 파이프라인 구성
- Spring Boot 이해 및 Spring Initializr로 Spring Boot 프로젝트 생성
- STS (Spring Tool Suite) IDE에서 “Hello World” Spring Boot Maven 프로젝트 구성
- Greeting(인사말) REST API 구현
- 로컬 PC에서 애플리케이션 실행 및 REST API 테스트
- “Hello World” GitLab 프로젝트 생성
- .gitignore 파일 이해 및 Git 명령어 실행
- .gitlab-ci.yml 파일 생성 (build 단계 구성) 및 CI 파이프라인 결과 확인
- JUnit 단위 테스트 코드 작성
- .gitlab-ci.yml 파일에 “test” 단계 추가 및 CI 파이프라인 결과 확인
- Cache를 사용하여 GitLab CI 속도 개선
Lesson 3 / 심화) Advanced GitLab CI
[목표] GitLab 워크플로우 기반으로 Siren Order 백엔드(Back-end) 서버를 구현함으로써 GitLab을 이용한 DevOps 과정 이해
- GitLab 협업 워크플로우 이해 (브랜치, 이슈, 병합 요청)
- Spring Boot를 사용하여 스타벅스 사이렌 오더(Siren Order) 클론 애플리케이션의 REST API 구현
- GitLab Container Registry 이해
- GitLab CI 파이프라인으로 애플리케이션의 Docker 이미지를 빌드하고 GitLab Container Registry에 Push 하는 방법 이해
[실습] Siren Order 백엔드(REST API) 서버 구현 및 CI 파이프라인 구성
- “Siren Order API” GitLab 프로젝트 생성 (Template 프로젝트 Import)
- 초기 CI 파이프라인 구성 및 결과 확인
- GitLab 이슈 생성 (주문 API 기능 추가)
- Feature 브랜치 생성
- 로컬 Git Repository 생성
- STS에서 Spring Boot Maven 프로젝트 구성
- Siren Order API 애플리케이션 실행
- Postman 설정 및 Menu API 테스트
- 주문 API 기능 구현 및 API 테스트
- 단위 테스트 코드 작성 및 실행
- GitLab 리포지토리에 Git Push (git commit/push)
- CI 파이프라인 결과 확인
- Merge Request 생성
- 코드 리뷰 및 Merge
- Dockerfile 생성
- .gitlab-ci.yml 파일에 Docker build & push 단계 구성
- CI 파이프라인 결과 및 GitLab Container Registry 확인
📕 준비 사항
- 실습용 개인 데스크탑 or 노트북 지참 (Mac , Window 관계 없음)
- 온라인 가능한 인터넷 연결 상태
- GitLab 준비 (GitLab.com에 무료 가입 후 서비스 이용)
🙋♂️ 문의 사항
- 이메일/전화 : support@infograb.net / 031-712-0929
- 페이스북 메신저 : https://m.me/107080131336533
* 주최 : 인포그랩 https://insight.infograb.net
* 워크숍페이지 : https://workshop.infograb.io/gitlab-ci/
