📂 젠킨스 분산 아키텍처
젠킨스는 컨트롤러-에이전트 아키텍처를 사용해 분산 빌드를 관리한다. 컨트롤러-에이전트 개념을 살펴보자!
- 젠킨스 컨트롤러
- 젠킨스가 설치된 시스템이다.
- 젠킨스 컨트롤러는 젠킨스 에이전트에서 빌드 단계가 실행되도록 분산하고 관리하는 역할을 한다. 그러한 분산 작업이 특정 빌드 단계에 필요한 하드웨어나 소프트웨어 요구 사항을 기반으로 하지 않는다.
- 젠킨스 에이전트
- 젠킨스 슬레이브라고도 부르며, 젠킨스 컨트롤러에 연결된 시스템이다.해당 시스템은 젠킨스 에이전트가 설치되어 있으며, 젠킨스 컨트롤러가 할당된 빌드 단계들을 실행한다.
- 1개 이상의 젠킨스 에어전트가 다양한 빌드 단계를 병렬로 실행하면서 전체 빌드 프로세스를 수행한다.
📂 컨트롤러와 에이전트의 연결
분산 빌드를 실행하려면 컨트롤러와 에이전트가 연결되어야 한다.
- 컨트롤러 > 에이전트로 연결
- 컨트롤러가 에이전트로 연결 요청을 보낼수 있도록 에이전트를 구성한다.
- 해당 구성에서 최소하 설정으로 에이전트기기를 구성할수 있다.
- 에이전트에는 JDK/JRE만 설치하면 된다.
- 에이전트 > 컨트롤러로 연결
- 컨틀롤러가 에이전트에 접속할 수 없는 경우에는 에이전트 프로세스를 시작할 수 없으므로 이때는 자바 네트워크 실행 프로토콜이라는 다른 유형의 에이전트를 구성해야 한다.
- jenkins > security > TCP port for inbound agents > Fixed or Random > port : 7070
- Fixed : port지정 필드가 노출되며, 에이전트가 JNLP를 통해 컨트롤러에 연결하는데 사용하는 포트이다.

📂 SSH로 컨트롤러에서 에이전트로의 연결
- SSH 연결을 사용해 젠킨스 에이전트를 시작하도록 컨트롤러-에이전트 기기를 구성하는 단계별 프로세스를 살펴본다.
- 컨트롤러 : 젠킨스가 설치되어 있어야 한다.
- 에이전트 : JDK11이 설치되어야 하며, 젠킨스 설치는 필요없다.
1단계 : SSH Build Agents 플러그인 설치
컨트롤러 기기의 젠킨스에 로그인하고, 플러그인 매니저를 사용해 SSH Build Agents 플러그인 설치
2단계 : 에이전트에 자바 설치
에이전트 기기에 자바가 설치되어 있는지 확인
3단계 : SSH 공개 키- 개인키 쌍 생성
컨트롤러 기기에서 ssh-keygen 명령을 사용하여 공개키-개인 키 쌍을 생성한다.
4단계 : 개인키가 포함된 자격 증명 항목을 컨트롤러 기기에 추가
a. 젠킨스 > Credentials > 자격증명 추가

b. username필드에는 에이전트 기기에서 인증된 사용자 이름을 입력하고, 나머지는 자유롭게 입력
추가로, enter directly 클릭 > ${CURRENT_USER}\.ssh\id_rsa 파일에서 복사해 생성한 개인 키 값을 Key 필드에 넣는다.

5단계 : 젠킨스 컨트롤러에 노드 추가
컨트롤러 기기에 젠킨스 대시보드 이동 > Nodes > 새로운 노드를 생성한다.

생성 후 노드의 다른 상세 정보를 지정하는 페이지가 열린다.

- Name : 에이전트 시스템의 이름, 반드시 고유한 값이어야 한다.
- Description : 선택사항 항목, 다른 사용자가 참고할수 있도록 시스템에 대한 정보를 작성
- Number of executors : 동시작업수 , 젠킨스가 해당 에이전트에서 수행할 수 있는 최대 동시 작업의 수
- Remote root directory : 원격 루트 디렉터리, 에이전트는 젠킨스 전용 디렉터리를 필요로 하므로 여기에 전용 디렉터리의 경로를 지정한다. 경로지정은 절대경로를 사용하는 것이 좋고, 에이전트의 로컬 디렉터리여야 한다
- Labels : 레이블은 여러 에이전트를 하나의 논리적 그룹으로 분류하는데 사용된다. 레이블 사이의 공백을 입력하면 여러 개의 레이블을 지정할 수 있다.
- Usage : 제어방식, 젠킨스에서 해당 노드를 제어하는 방법을 정하며, 기본값은 Use this node as mush as possible이다.
- Launch method : 실행방식, 에이전트를 시작하는 방법을 정한다.
'Study > 젠킨스로 배우는 CI,CD 파이프라인 구축' 카테고리의 다른 글
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 코드형 파이프라인 이해 (0) | 2025.09.13 |
|---|---|
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 파이프라인 (3) | 2025.08.03 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - SSH (5) | 2025.08.03 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 넥서스 설치 및 적용 (3) | 2025.07.06 |
| 젠킨스로 배우는 CI/CD 파이프라인 구축 - 깃과 깃랩 (0) | 2025.07.06 |
