728x90
0. 젠킨스 (Jenkins)
- 오픈 소스 CI / CD (지속적 통합 / 지속적 배포) 도구
- 소프트웨어 개발 프로세스의 빌드, 테스트, 배포 등을 자동화 및 관리
- 다양한 플러그인과 함께 여러언어와 프레임워크 지원
1. 젠킨스의 특징
- 마스터 / 슬래이브 구조
- Master (Controller) : slave를 관리하고, 작업 스케줄링, slave 모니터링을 포함한 다양한 작업 관리
- Slave (Agent) : 실제 파이프라인(빌드, 테스트 등) 작업을 수행
- 다양한 환경에서 작동
- 작업을 분산시켜 부하를 감소시키는 역할
- 로컬 / 클라우드 컴퓨터를 통해 Master에 연결될 수 있어 다양한 유연성 제공
- 파이프라인 스크립트
- Jenkinsfile : Grooby 언어로 작성된 스크립트 파일
- 소스코드와 함께 버전관리 시스템에 저장
- 각 단계의 순차적 실행이나 병렬 실행 등의 로직을 정의하고, 빌드 / 테스트 / 베포 등의 작업 구성
- Jenkinsfile : Grooby 언어로 작성된 스크립트 파일
- SCM 트리거 및 웹훅
- 소스 코드 관리(SCM) 시스템과 통합
- 웹훅이나 폴링 방식을 사용하여 SCM 시스템 변경 사항 감지 및 해당 작업 트리거
- 변경 사항이 발생할 때마다 자동으로 빌드 및 테스트 실행 가능
- 결과 및 로그 저장
- 알람 : 빌드 및 테스트 결과를 개발자들에게 전달 가능
- 로그, 메트릭 수집 및 분석
- 성능 문제, 장애, 최적화 포인트 등 식별 가능
2. 젠킨스의 동작 과정
- 개발자가 소스 코드 변경 사항을 SCM 시스템에 푸시
- 젠킨스는 웹훅 / 폴링 방식을 통해 변경 사항 감지하고, Jenkinsfile에 정의된 파이프라인 실행
- SCM 시스템에 보관되는 파일들
- Jenkinsfile : Jenkins 스크립트 실행에 필요
- Helm Chart : Kubernetes 배포에 필요
- SCM 시스템에 보관되는 파일들
- Master 노드에서 Slave 노드로 작업을 할당
- Slave 노드에서 빌드, 테스트, 배포 작업을 수행
- 파이프라인에 정의된 작업에 따라 애플리케이션은 Kubernetes 환경에 배포
- Jenkins를 통해 수행되거나 ArgoCD와 같은 도구를 활용하여 수행 가능
- 파이프라인에 정의된 작업에 따라 애플리케이션은 Kubernetes 환경에 배포
- 파이프라인 각 단계에서 필요한 경우, 플러그인을 다용하여 다양한 도구와 통합 및 작업 수행
- 작업이 완료되면 결과와 로그를 저장하고 개발자에 알림 전송
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 |