Jenkins 설정 · 4 min read · Dec 19, 2025

우분투에서 Jenkins 마스터 및 슬레이브 설정하는 방법

Jenkins는 Hudson 프로젝트에서 포크된 자동화 서버입니다. Git, SVN 및 Mercurial을 포함한 여러 SCM(소스 제어 관리) 소프트웨어 시스템을 지원합니다. Jenkins는 프로젝트를 자동화하기 위한 수백 개의 플러그인을 제공합니다. Jenkins는 마스터/슬레이브 아키텍처를 지원하여 많은 수의 프로젝트 빌드를 호스팅할 수 있습니다.

Jenkins ‘마스터/슬레이브’ 작동 방식

Jenkins 마스터/슬레이브 아키텍처는 분산 빌드 환경에 사용되며, 프로젝트 빌드의 작업 부하가 여러 에이전트 노드에 분산되고 각 빌드에 대해 서로 다른 환경을 사용할 수 있습니다.

Jenkins ‘마스터/슬레이브’ 아키텍처에서 마스터는 기본 Jenkins 설치로서 자신을 나타내며 빌드 시스템의 모든 작업을 처리합니다. Jenkins 마스터 노드는 작업 예약, 슬레이브 노드 모니터링, 슬레이브 노드에 빌드 전송, 빌드 결과 기록 및 표현, 빌드 작업 직접 실행에 사용됩니다.

Jenkins 슬레이브 노드는 마스터에서 빌드 프로젝트를 오프로드하기 위해 설정되며, 마스터와 슬레이브 간의 연결이 필요합니다. Jenkins 슬레이브 노드는 Windows 및 Linux와 같은 다양한 운영 체제에서 실행될 수 있으며, 전체 Jenkins 패키지를 설치할 필요는 없습니다.

이 튜토리얼에서는 최신 우분투 버전을 사용하여 Jenkins 마스터-슬레이브 아키텍처를 설정하는 방법을 배웁니다. Jenkins 마스터 서버를 설정하고 다른 우분투 노드를 Jenkins 슬레이브로 추가하는 방법을 배울 것입니다.

전제 조건

  • 우분투 서버 (우분투 22.04 - 우분투 16.04) - 마스터 - 10.0.15.10
  • 슬레이브01 - 10.0.15.21
  • 슬레이브02 - 10.0.15.22
  • 루트 권한

우리가 할 일

  1. Jenkins 마스터 설치
  2. Jenkins 마스터 자격 증명 구성
  3. 슬레이브 에이전트 노드 구성
  4. 새 슬레이브 노드 추가
  5. 빌드를 실행하기 위해 슬레이브 에이전트 노드 준비
  6. 테스트

1단계 - Jenkins 마스터 설치

이 튜토리얼에서는 기본 Jenkins 설치를 다루지 않습니다. HowtoForge의 여러 기사에서 Jenkins 설치를 다룹니다.

  • 우분투 16.04에 Jenkins 설치
  • 우분투 18.04에 Jenkins 설치
  • 우분투 20.04에 Jenkins 설치
  • 우분투 22.04에 Jenkins 설치
  • CentOS 7에 Jenkins 설치

다음은 Jenkins가 설치된 우리의 우분투 마스터 서버입니다.

Jenkins 마스터 설치

2단계 - Jenkins 마스터 자격 증명 구성

마스터 서버에 Jenkins가 설치되면, 마스터 서버 자체를 구성해야 합니다. 기본적으로 Jenkins 에이전트 노드를 시작하는 방법은 여러 가지가 있으며, SSH, Windows 관리 계정 및 Java Web Start(JNLP)를 통해 에이전트 노드를 시작할 수 있습니다. 환경 설정 및 운영 체제에 따라 가장 적합한 방법을 선택하십시오.

이 가이드에서는 SSH를 통해 에이전트 노드를 시작할 것이며, 마스터 서버에서 Jenkins 자격 증명을 설정해야 합니다.

SSH 키 생성

에이전트 노드를 설정하기 위해 SSH 키 인증을 사용할 것이므로, Jenkins 사용자에 대한 SSH 키를 생성한 다음 ‘ssh-copy-id’를 사용하여 각 서버 노드에 수동으로 키를 업로드해야 합니다.

Jenkins 마스터 서버에서 Jenkins 사용자로 로그인하고 SSH 키를 생성합니다.

su - jenkins  
ssh-keygen

그러면 ‘.ssh’ 디렉토리에 ‘id_rsa’ 개인 키와 ‘id_rsa.pub’ 공개 키가 생성됩니다.

SSH 키 생성

Jenkins에서 자격 증명 설정

Jenkins 대시보드를 열고 왼쪽의 ‘자격 증명’ 메뉴를 클릭합니다.

Jenkins에서 자격 증명 설정

그리고 ‘global’ 도메인 링크를 클릭합니다.

이제 ‘자격 증명 추가‘를 클릭합니다.

자격 증명 추가

이제 인증 방법을 선택합니다.

  • 종류: 개인 키가 있는 SSH 사용자 이름
  • 범위: 글로벌
  • 사용자 이름: jenkins
  • 개인 키: 직접 입력하고 마스터 서버의 Jenkins 사용자 ‘id_rsa’ 개인 키를 붙여넣습니다.

‘확인’을 클릭합니다.

인증 방법 선택

그리고 SSH 인증 키 방법으로 Jenkins 자격 증명이 생성되었습니다.

SSH 인증 키 방법으로 Jenkins 자격 증명이 생성되었습니다

3단계 - 슬레이브 노드 설정

이제 슬레이브 노드 서버를 설정하여 해당 서버에 Java를 설치하고 새로운 Jenkins 사용자를 생성합니다.

Java 설치

‘software-properties-common’ 패키지를 설치하고 Java PPA 리포지토리를 추가합니다.

sudo apt install software-properties-common apt-transport-https -y  
sudo add-apt-repository ppa:openjdk-r/ppa -y

이제 아래의 apt 명령을 사용하여 Java OpenJDK를 설치합니다.

sudo apt install openjdk-8-jdk -y

설치가 완료되면 설치된 Java 버전을 확인합니다.

java -version

그러면 시스템에 Java OpenJDK 1.8이 설치됩니다.

새로운 Jenkins 사용자 추가

이제 모든 에이전트 노드에 ‘Jenkins’ 사용자를 추가합니다.

아래 명령을 실행합니다.

useradd -m -s /bin/bash jenkins  
passwd Jenkins

에이전트 노드를 위한 ‘Jenkins’ 사용자가 생성되었습니다.

새로운 Jenkins 사용자 추가

마스터에서 슬레이브로 SSH 키 복사

다음으로, 마스터에서 슬레이브 서버 노드로 ‘id_rsa.pub’ 키를 업로드해야 합니다. 아래와 같이 ‘ssh-copy-id’ 명령을 사용하여 각 서버 노드에 업로드해야 합니다.

ssh-copy-id [email protected]  
ssh-copy-id [email protected]

Jenkins 사용자 비밀번호를 입력합니다.

SSH 키 ‘id_rsa.pub’가 모든 에이전트 노드에 업로드되었습니다.

마스터에서 슬레이브로 SSH 키 복사

4단계 - 새 슬레이브 노드 추가

Jenkins 대시보드에서 ‘Jenkins 관리’ 메뉴를 클릭하고 ‘노드 관리’를 클릭합니다.

새 슬레이브 노드 추가

‘새 노드‘를 클릭합니다.

새 노드

노드 이름 ‘slave01’을 입력하고 ‘영구 에이전트’를 선택한 후 ‘확인’을 클릭합니다.

노드 이름

이제 노드 정보 세부 사항을 입력합니다.

  • 설명: slave01 노드 에이전트 서버
  • 원격 루트 디렉토리: /home/jenkins
  • 레이블: slave01
  • 시작 방법: SSH를 통해 슬레이브 에이전트 시작, 호스트 IP 주소 ‘10.0.15.21’ 입력, ‘Jenkins’ 자격 증명을 사용하여 인증 선택.

노드 정보

이제 ‘저장’ 버튼을 클릭하고 마스터 서버가 모든 에이전트 노드에 연결되고 에이전트 서비스를 시작할 때까지 기다립니다.

아래는 마스터 서버가 모든 에이전트 노드에 연결되었을 때의 결과입니다.

마스터 서버가 모든 에이전트 노드에 연결됨

Jenkins 슬레이브 노드가 마스터 서버에 추가되었습니다.

5단계 - 슬레이브 에이전트 노드를 빌드 실행을 위해 준비

이 단계에서는 Jenkins 마스터를 구성하여 슬레이브 에이전트 노드에서 빌드를 실행합니다.

‘Jenkins 관리’ 메뉴를 클릭한 다음 ‘시스템 구성’을 클릭합니다.

슬레이브 에이전트 노드를 빌드 실행을 위해 준비

이제 ‘슬레이브 설정’ 섹션으로 이동하여 아래와 같이 필요한 모든 것을 정의합니다.

슬레이브 설정 섹션

슬레이브 설정에 대한 자세한 정보는 링크를 참조하십시오.

‘저장’ 버튼을 클릭하면 이제 슬레이브 에이전트 노드에서 빌드를 실행할 준비가 완료됩니다.

6단계 - 테스트

이제 Jenkins를 위한 새로운 간단한 빌드를 생성하고 ‘슬레이브01’ 및 ‘슬레이브02’ 에이전트 노드에서 빌드를 실행하고자 합니다.

Jenkins 대시보드에서 ‘새 항목’ 메뉴를 클릭합니다.

Jenkins 테스트

항목 이름을 입력하고, 자유 형식 프로젝트를 선택한 후 ‘확인’을 클릭합니다.

자유 형식 프로젝트 추가

일반 섹션에서 작업 설명을 입력하고 ‘이 프로젝트를 실행할 수 있는 위치 제한‘ 옵션을 체크합니다.

‘레이블 표현식‘에서 ‘슬레이브01’과 같은 노드를 지정합니다.

노드 선택

빌드 섹션으로 이동하여 ‘셸 실행’ 옵션을 선택하고 아래와 같이 명령을 입력합니다.

top -b -n 1 | head -n 10 && hostname

‘저장’ 버튼을 클릭하면 작업 페이지로 리디렉션됩니다.

작업 페이지

‘지금 빌드‘를 클릭하여 프로젝트를 빌드하고, ‘빌드 기록‘ 섹션에서 항목을 클릭합니다.

지금 빌드

다음은 제 결과입니다.

슬레이브01 에이전트 노드에서의 빌드.

Jenkins 스크립트 결과 출력

슬레이브02 에이전트 노드에서의 빌드.

노드 02에서의 빌드

Jenkins 마스터/슬레이브 아키텍처 및 분산 빌드의 설치 및 구성이 성공적으로 완료되었습니다.

참고 문헌

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.