카테고리 없음

젠킨스 잡(Jenkins Job)이란?

idea9329 2025. 3. 7. 10:07
반응형

 

젠킨스(Jenkins) 잡(Job) 젠킨스에서 실행할 특정 작업을 정의한 실행 단위입니다. CI/CD(Continuous Integration/Continuous Deployment) 환경에서 자동화된 빌드, 테스트, 배포 등의 작업을 수행하는 하나의 프로세스를 의미합니다.


1. 젠킨스 잡의 주요 역할

젠킨스 잡은 주로 다음과 같은 작업을 수행합니다:

 코드 빌드(Build)
 테스트 실행(Test Execution)
 소프트웨어 패키징(Artifact Creation)
 배포(Deployment)
 스크립트 실행(Script Execution)


2. 젠킨스 잡의 종류

젠킨스에서는 다양한 유형의 잡을 만들 수 있으며, 주요 잡 유형은 다음과 같습니다:

1) Freestyle Project (프리스타일 프로젝트)

  • 가장 기본적인 형태의 잡
  • 소스 코드 빌드, 테스트, 배포를 포함한 여러 작업을 순차적으로 실행 가능
  • GUI 기반 설정으로 간편하게 사용 가능

2) Pipeline (파이프라인)

  • 스크립트 기반(Jenkinsfile)으로 파이프라인을 정의하여 실행
  • 복잡한 CI/CD 프로세스를 코드로 관리 가능
  • Declarative 또는 Scripted 방식으로 작성 가능

3) Multi-Configuration Project (다중 설정 프로젝트)

  • 여러 환경(예: OS, JDK 버전, 브라우저 등)에서 테스트를 실행할 때 사용
  • 매트릭스 기반으로 서로 다른 조합의 설정을 적용하여 실행 가능

4) Multi-Branch Pipeline (멀티 브랜치 파이프라인)

  • Git 등의 소스 코드 관리 시스템과 연동하여, 브랜치마다 자동으로 파이프라인을 생성
  • 브랜치별 CI/CD 프로세스를 자동화하는 데 유용

5) Folder (폴더)

  • 여러 개의 잡을 그룹화하여 관리하는 기능

3. 젠킨스 잡 실행 방식

젠킨스 잡은 다음과 같은 방식으로 실행될 수 있습니다.

1) 수동 실행

  • 사용자가 직접 젠킨스 UI에서 "Build Now(지금 빌드)" 버튼을 클릭하여 실행

2) 자동 실행 (트리거 설정)

  • 특정 이벤트(예: Git 코드 푸시, 특정 시간, 다른 잡 실행 후 등)에 따라 자동 실행 설정 가능

3) Webhook

  • GitHub, GitLab과 같은 리포지토리에서 Webhook을 설정하여 코드 변경 시 자동으로 빌드 트리거

4. 젠킨스 잡 설정 요소

젠킨스 잡을 설정할 때 주요 요소는 다음과 같습니다:

1) 소스 코드 관리

  • Git, SVN 등의 소스 코드 저장소와 연결하여 코드 가져오기

2) 빌드 트리거

  • 코드 변경 감지 (예: Git Push)
  • 정기 실행 (예: H 12 * * 1-5 → 월~금 12시에 실행)
  • 다른 잡 실행 후 실행

3) 빌드 단계

  • Shell Script 실행
  • Gradle, Maven, NPM 등을 이용한 빌드
  • Docker 컨테이너 실행

4) Post-Build Actions (빌드 후 작업)

  • 이메일 알림 전송
  • 테스트 결과 보고
  • 빌드 아티팩트(결과물) 저장
  • 배포 수행 (서버 업로드 등)

5. 젠킨스 잡 실행 과정 예시

Git 코드 푸시 → 자동 빌드 & 배포

1️⃣ 개발자가 GitHub/GitLab에 코드 푸시
2️⃣ 젠킨스 Webhook이 트리거되어 잡 실행
3️⃣ 소스 코드 다운로드
4️⃣ 유닛 테스트 실행
5️⃣ 애플리케이션 빌드
6️⃣ Docker 이미지 생성 & Push
7️⃣ Kubernetes 또는 서버에 배포
8️⃣ 빌드 완료 후 이메일/Slack 알림 전송


6. 젠킨스 잡 관리 팁

  • 잡 실행 히스토리 관리: 오래된 빌드 로그 정리
  • 에러 발생 시 알림 설정: Slack, Email 연동
  • 병렬 실행 활성화: 여러 작업을 동시에 실행하여 속도 개선
  • 환경 변수 사용: 동적인 빌드 설정 적용 가능
  • 플러그인 활용: Git, Docker, Kubernetes 등 다양한 플러그인 추가 가능

✅ 정리

  • 젠킨스 잡(Jenkins Job)은 빌드, 테스트, 배포 등의 자동화 작업을 수행하는 실행 단위
  • 기본적으로 Freestyle, Pipeline, Multi-Configuration 등의 다양한 잡 유형 제공
  • Git 코드 변경, 특정 시간, 다른 잡 완료 후 실행 등의 트리거 설정 가능
  • 실행 결과를 보고하고, 배포까지 자동화 가능
  • Webhooks, Slack 알림, Docker, Kubernetes 연동 등으로 CI/CD 효율성 향상 가능

CI/CD 자동화를 고려한다면 파이프라인(Pipeline) 방식을 적극 활용하는 것이 좋음! 🚀

반응형