GitLab CI 워크숍 | DevSecOps 구축 컨설팅, 교육, 기술지원 서비스 제공

GitLab CI 워크숍

이 워크숍에서는 GitLab을 이용한 지속적 통합(Continuous Integration, CI) 환경 구축을 다룹니다. CI가 무엇이고, 왜 사용해야 하는지, 그리고 GitLab으로 CI Pipeline을 구성하는 방법을 배우게 됩니다.

₩ 10,000 → 무료

시작하기

이번 워크숍에서는 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)와 연계됩니다.

photo | 인포그랩 GitLab | 인포그랩 GitLab
photo | 인포그랩 GitLab | 인포그랩 GitLab
photo | 인포그랩 GitLab | 인포그랩 GitLab

워크숍 구성

난이도
입문
개발 언어
Java
총 챕터수
40
수행 시간
2 ~ 4시간

GitLab CI 워크숍은?

들으면 좋은 분들

  • 소프트웨어 개발 프로젝트 신임 리더
  • CI/CD 관심있는 소프트웨어 개발자
  • 주니어 DevOps 엔지니어

사전 지식 및 개발 환경

  • Git 및 GitLab에 대한 기본 지식
  • Java 언어 및 Spring 프레임워크에 대한 기초 지식
  • 로컬 PC에 Java 개발 환경 구성
  • 기대 효과

  • 지속적인 통합을 통해 일반적인 실수를 미연에 방지
  • GitLab 워크플로우를 통한 협업 개선
  • 반복적인 작업을 자동화하여 개발에만 집중
  • 익히게 되는 지식 및 기술

    • GitLab CI 및 Runner 이해
    • .gitlab-ci.yml 파일의 구성 요소를 이해하고 작성하는 방법
    • Spring Boot 이해 및 STS(Spring Tool Suite)로 프로젝트 구성
    • Git 명령어 사용법
    • JUnit 5, Hamcrest 및 Mockito을 활용한 단위 테스트 코드 작성법
    • Maven으로 애플리케이션 빌드 및 단위 테스트
    • Cache를 사용한 GitLab CI 속도 개선
    • GitLab 이슈 및 Merge request 사용법 (코드 리뷰)
    • GitLab 협업 워크플로우 기반으로 실무 프로젝트 수행 방법
    • Dockerfile 파일 이해 및 Docker 빌드 방법
    • GitLab Container Registry에 Docker 이미지 패키징

    커리큘럼

    • 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 확인

    TRAINING
    교육문의 후 맞춤형 커리큘럼을 선택해보세요
    * 필수