AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Jenkins 101: 첫 번째 파이프라인 쉽게 시작하기 (Declarative vs. Scripted)

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

DevOps

대상자

CI/CD 도입 초보자, Jenkins 사용자, DevOps 엔지니어

  • 난이도: 중간 (기초 개념 설명 포함)

핵심 요약

  • Declarative 파이프라인구조화된 문법내장 오류 처리간단한 워크플로우에 적합
  • 예: pipeline { agent any; stages { ... } }
  • Scripted 파이프라인Groovy 언어 기반으로 복잡한 로직 처리 가능
  • 예: node { stage('Build') { sh 'npm install' } }
  • 설치 및 실행 단계:
  • Docker 명령어: docker run -p 8080:8080 jenkins/jenkins:lts
  • Jenkins UI에서 Pipeline script 입력 후 실행

섹션별 세부 요약

  1. CI/CD 자동화의 필요성
  • 수동 빌드/테스트의 단점 (예: 매번 테스트 실행, 오류 발생 가능성)
  • Jenkins의 역할: 코드 커밋 → 배포까지의 전체 과정 자동화
  1. Declarative 파이프라인의 특징
  • 구조화된 문법 (IKEA 설명서 유사)
  • 내장 오류 처리재시도 기능
  • 예시:

```groovy

pipeline {

agent any

stages {

stage('Build') { steps { sh 'npm install' } }

}

}

```

  1. Scripted 파이프라인의 특징
  • Groovy 언어 직접 사용 (루프, 조건문 처리 가능)
  • 유연성복잡한 로직 구현 가능
  • 예시:

```groovy

node {

stage('Test') {

def tests = ['unit', 'integration']

tests.each { test -> sh "npm run test:${test}" }

}

}

```

  1. Declarative vs. Scripted 비교
  • | Declarative | Scripted

|---|---

| ✅ 간단한 문법 | ✅ 유연한 Groovy 스크립트

| ✅ 내장 오류 처리 | ✅ 복잡한 로직 지원

| ❌ 커스터마이징 제한 | ❌ 학습 곡선이 높음

  1. Jenkins 설치 및 실행 방법
  • 설치: jenkins.io에서 다운로드 또는 Docker 사용
  • 파이프라인 생성: Jenkins UI → New ItemPipeline 선택 → Pipeline script 입력
  1. 자주 발생하는 문제 및 해결 방법
  • 권한 오류: npm 또는 docker 도구에 대한 Jenkins 권한 설정
  • 문법 오류: Jenkins 내장 Pipeline Syntax Generator 사용
  • 플러그인 누락: NodeJS, Docker Pipeline, Blue Ocean 등 설치
  1. 실무 팁
  • Jenkinsfile 버전 관리: 코드 리포지토리에 저장하여 변경 추적
  • Blue Ocean 플러그인 사용: 시각적 UI로 파이프라인 모니터링
  • 단계적 확장: 테스트 자동화부터 시작 → 이후 단계 추가

결론

  • Declarative로 90%의 간단한 워크플로우 구현, Scripted로 복잡한 로직 처리
  • Jenkinsfile을 코드 리포지토리에 저장해 변경 추적
  • Blue Ocean 플러그인 사용으로 시각적 파이프라인 모니터링 가능
  • 첫 번째 파이프라인 실행 시: docker run -p 8080:8080 jenkins/jenkins:lts 명령어 사용