[DevOps] Jenkins란?

2025. 6. 4. 00:37·DevOps
728x90

 

 

0. 젠킨스 (Jenkins)

  • 오픈 소스 CI / CD (지속적 통합 / 지속적 배포) 도구
    • 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화 및 관리
    • 다양한 플러그인과 함께 여러언어와 프레임워크 지원

 

 

1. 젠킨스의 특징

  • 마스터 / 슬래이브 구조
    • Master (Controller) : slave를 관리하고, 작업 스케줄링, slave 모니터링을 포함한 다양한 작업 관리
    • Slave (Agent) : 실제 파이프라인(빌드, 테스트 등) 작업을 수행
      • 다양한 환경에서 작동
      • 작업을 분산시켜 부하를 감소시키는 역할
      • 로컬 / 클라우드 컴퓨터를 통해 Master에 연결될 수 있어 다양한 유연성 제공
  • 파이프라인 스크립트
    • Jenkinsfile : Grooby 언어로 작성된 스크립트 파일
      • 소스코드와 함께 버전관리 시스템에 저장
      • 각 단계의 순차적 실행이나 병렬 실행 등의 로직을 정의하고, 빌드 / 테스트 / 베포 등의 작업 구성
  • SCM 트리거 및 웹훅
    • 소스 코드 관리(SCM) 시스템과 통합
    • 웹훅이나 폴링 방식을 사용하여 SCM 시스템 변경 사항 감지 및 해당 작업 트리거
      • 변경 사항이 발생할 때마다 자동으로 빌드 및 테스트 실행 가능
  • 결과 및 로그 저장
  • 알람 : 빌드 및 테스트 결과를 개발자들에게 전달 가능
  • 로그, 메트릭 수집 및 분석
    • 성능 문제, 장애, 최적화 포인트 등 식별 가능

 

 

2. 젠킨스의 동작 과정

  1. 개발자가 소스 코드 변경 사항을 SCM 시스템에 푸시
  2. 젠킨스는 웹훅 / 폴링 방식을 통해 변경 사항 감지하고, Jenkinsfile에 정의된 파이프라인 실행
    • SCM 시스템에 보관되는 파일들
      • Jenkinsfile : Jenkins 스크립트 실행에 필요
      • Helm Chart : Kubernetes 배포에 필요
  3. Master 노드에서 Slave 노드로 작업을 할당
  4. Slave 노드에서 빌드, 테스트, 배포 작업을 수행
    • 파이프라인에 정의된 작업에 따라 애플리케이션은 Kubernetes 환경에 배포
      • Jenkins를 통해 수행되거나 ArgoCD와 같은 도구를 활용하여 수행 가능
  5. 파이프라인 각 단계에서 필요한 경우, 플러그인을 다용하여 다양한 도구와 통합 및 작업 수행
  6. 작업이 완료되면 결과와 로그를 저장하고 개발자에 알림 전송

 

 

3. 젠킨스 파이프라인 구성 방식

  • Pipeline script (Webadmin) : Jenkins Pipeline을 생성해 Shell Script를 직접 생성하고 빌드
    • 가장 일반적인 방식
  • Git SCM : Git에 JenkinsFile을 작성하고, 빌드 시작 시 파이프라인 프로젝트에서 호출 실행
  • Blue Ocean : UI 기반으로 시각적으로 파이프라인을 구성하면, JenkinsFile이 자동으로 생성 및 실행

 

 

 

 

 


📌  References

https://velog.io/@kakdark/%EC%A0%A0%ED%82%A8%EC%8A%A4

 

젠킨스란?

젠킨스(Jenkins)는 오픈 소스 지속적 통합(CI) 및 지속적 배포(CD) 도구로, 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화하고 관리할 수 있다. 젠킨스는 다양한 플러그인과 함께 여러

velog.io

https://wlsdn3004.tistory.com/63

 

[Jenkins]란? 개념부터 설치 실행까지 (쿠버네티스 환경)

먼저, Jenkins를 알기 전 CI/CD가 무엇인지 알아야 한다. CI/CD란?CI는 지속적 통합(Continuous Integration), CD는 지속적 배포(Continuous Deployment)의 약어로, 개발자들이 동시에 작업한 코드 변경 사항을 통합하

wlsdn3004.tistory.com

https://velog.io/@kku64r/pipeline

 

[CI/CD] Jenkins Pipeline 정리

CI/CD 파이프라인은 신버전의 SW를 제공하기 위해 수행해야 할 일련의 단계로 통합 및 테스트 단계와 배포 단계의 모니터링 및 자동화를 도입하여 개발 프로세스를 개선한다. CI/CD 구성 툴로 대표

velog.io

 

 

 

 

 

 

728x90
저작자표시 비영리 (새창열림)

'DevOps' 카테고리의 다른 글

[DevOps] 오픈시프트(OpenShift)와 쿠버네티스(Kubernetes)  (0) 2025.06.04
[DevOps] 컨테이너(Container)와 도커(Docker)  (0) 2025.06.04
[DevOps] CI/CD란?  (0) 2025.06.04
'DevOps' 카테고리의 다른 글
  • [DevOps] 오픈시프트(OpenShift)와 쿠버네티스(Kubernetes)
  • [DevOps] 컨테이너(Container)와 도커(Docker)
  • [DevOps] CI/CD란?
s_ih_yun
s_ih_yun
  • s_ih_yun
    CODESYUN
    s_ih_yun
  • 전체
    오늘
    어제
    • 분류 전체보기 (339)
      • Web (8)
      • Java (7)
      • Spring (19)
      • Git (16)
      • MyBatis (1)
      • HTML & CSS (14)
      • JavaScript (11)
      • DevOps (4)
      • Cloud (8)
      • Lanuage (13)
        • C++ (3)
        • Python (10)
      • DB (1)
        • MySQL (1)
        • Oracle (2)
      • Computer Science (26)
        • Concept (3)
        • Algorithm (23)
      • Baekjoon (104)
        • 단계별로 풀어보기 (78)
      • CodeUp (98)
        • Python 기초 100제 (98)
      • Programmers (2)
      • Books (3)
      • etc (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • Syun's Pages
  • 인기 글

  • 태그

    spring
    Python
    CodeUp 기초 100제
    db
    oracle
    git
    myBatis
    c++
    aws
    Cloud
    자료구조
    MySQL
    clean code
    java
    codeup
    JavaScript
    C
    web
    SourceTree
    VS Code
    BOJ
    HTML
    github
    CSS
    웹
    알고리즘
    단계별로 풀어보기
    Programmers
    Tistory
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
s_ih_yun
[DevOps] Jenkins란?
상단으로

티스토리툴바