pgms

[15주차] - [9기] 타입스크립트로 함께하는 웹 풀 사이클 개발(React, Node.js) 10회차 - 69

Ejah 2026. 4. 23. 16:23

🚀 Jenkins 기반 CI 파이프라인 구축 실습 정리

📌 개요

이번 실습에서는 Jenkins를 활용한 CI(Continuous Integration) 파이프라인을 직접 구성해보며,
코드 변경 → 빌드 → 테스트 → 배포까지의 자동화 흐름을 경험했다.

특히 단순 실행이 아니라,

  • 이미지 레지스트리 구성
  • 테스트 자동화
  • 파이프라인 적용

까지 포함된 실무형 CI 환경 구축이 핵심이었다.


🧩 전체 흐름

이번 실습은 다음과 같은 단계로 진행되었다.

  1. 이미지 레지스트리 구성
  2. 간단한 인수 테스트
  3. 테스트 프레임워크 적용
  4. 자동화 파이프라인 구축
  5. 결과 제출

🐳 1. 이미지 레지스트리 구성

CI 환경에서 중요한 요소 중 하나는 일관된 실행 환경이다.

이를 위해 Docker 기반으로 애플리케이션 이미지를 만들고
레지스트리에 업로드하는 과정을 진행했다.

핵심 포인트

  • Dockerfile 작성
  • 애플리케이션 컨테이너화
  • 이미지 빌드 및 push

👉 이를 통해 어디서든 동일한 환경에서 실행 가능


🧪 2. 간단한 인수 테스트

CI의 기본은 "코드가 정상 동작하는지 검증"이다.

초기 단계에서는 간단한 테스트를 통해

  • 서버 실행 여부
  • API 응답 확인

정도의 검증을 진행했다.


🧱 3. 인수 테스트 프레임워크 적용

단순 테스트에서 나아가
자동화 가능한 테스트 구조를 구축했다.

적용 목적

  • 반복 테스트 자동화
  • 테스트 코드 재사용
  • CI 환경과 연동

기대 효과

  • 코드 변경 시 자동 검증
  • 버그 조기 발견

⚙️ 4. Jenkins 파이프라인 구축

이번 실습의 핵심 단계.

Jenkins를 활용하여 CI 파이프라인을 구성했다.

파이프라인 흐름

코드 변경 → 빌드 → 테스트 → 결과 확인

Jenkinsfile 예시

pipeline {
    agent any

    stages {
        stage('Build') {
            steps {
                echo '빌드 진행'
            }
        }

        stage('Test') {
            steps {
                echo '테스트 실행'
            }
        }

        stage('Deploy') {
            steps {
                echo '배포 진행'
            }
        }
    }
}

핵심 포인트

  • 자동 빌드
  • 자동 테스트 실행
  • 실패 시 즉시 확인 가능

👉 개발 속도 + 안정성 동시에 확보


📦 자동화의 가치

이번 실습을 통해 느낀 가장 큰 점은

"자동화는 선택이 아니라 필수다"

자동화 전

  • 수동 테스트
  • 배포 실수
  • 환경 차이 문제

자동화 후

  • 빠른 피드백
  • 안정적인 배포
  • 반복 작업 제거

💡 느낀 점

처음에는 Jenkins를 단순한 도구라고 생각했지만,
실제로는 개발 프로세스를 바꾸는 핵심 시스템이었다.

특히 인상 깊었던 점:

  • 테스트가 코드 품질을 결정한다
  • CI 없이는 협업이 어렵다
  • 자동화는 개발자를 더 개발자답게 만든다

🔚 마무리

이번 실습을 통해 단순한 기능 구현을 넘어서
개발 → 테스트 → 배포까지의 전체 흐름을 이해할 수 있었다.

앞으로는 단순히 코드를 작성하는 것을 넘어서,

“이 코드가 자동으로 검증되고 배포될 수 있는 구조인가?”

를 항상 고민해야겠다고 느꼈다.