전공영역 공부 기록

젠킨스 컨셉

악분 2022. 5. 9. 09:21
반응형

안녕하세요. 이 글은 젠킨스가 어떻게 동작하는지 컨셉에 대해 간단히 소개합니다.

 

pdf: https://www.slideshare.net/sungwookchoi5/ss-251740655

영상:https://youtu.be/yYuReMl5kyY

 

개발언어

젠킨스는 자바로 개발되었습니다. 자바 8, 자바 11설치가 필요합니다. 젠킨스 실행환경은 JVM에 영향을 받는데 실행할 때 설정한 JVM옵션은 [Jenkins 관리 → 시스템 속성]메뉴에서 확인할 수 있습니다.

 

데이터 저장방법

젠킨스는 놀랍게도 데이터베이스를 사용하지 않습니다. 모든 데이터는 파일로 저장됩니다. 디폴트 저장경로는 /var/jenkins_home입니다.

 

아키텍처

젠킨스는 분산 아키텍처로 설계되었습니다. controller와 worker역할이 존재합니다. controller는 클러스터를 관리하고 Task를 생성&관리합니다. Task는 worker가 수행합니다.

Master 젠킨스 서버는 controller역할을 수행하고 Agent 젠킨스 서버는 worker역할을 수행합니다.

 

소규모에서는 Master, worker서버를 분리하지 않고 Master가 worker역할도 같이 수행합니다.

 

젠킨스 클러스터 구성은 [Jenkins 관리 → Manage nodes]메뉴에서 확인할 수 있습니다.

Task(Job) 실행 원리

젠킨스는 Task(실행할 일)을 Job이라고 부릅니다. Job은 Agent 젠킨스 서버의 자식 프로세스로 실행됩니다

 

예를 들어 sleep 60초를 실행하는 Job을 실행한다고 가정해봅시다. 

 

Job을 실행하면 sleep 60 쉘스크립트가 자식 프로세스로 실행됩니다.

 

쉘 스크립트는 /tmp경로에 임시복사되고 실행이 완료되면 삭제됩니다. job실행 로그에서 복사된 임시파일 이름을 확인할 수 있습니다.

반응형