1. 개요

이 사용방법(예제)에서는 Jenkins 아키텍처의 분산 빌드 개념을 살펴보겠습니다. 또한 Jenkins 마스터-슬레이브 아키텍처 를 구성하는 방법을 배웁니다 . 또한 Jenkins 마스터에 파이프라인을 구축하여 슬레이브 노드에서 빌드 작업을 실행합니다.

2. 분산 빌드

이상적으로 는 표준 Jenkins를 설치하는 머신이 Jenkins 마스터가 됩니다. 슬레이브 노드 시스템에 에이전트라는 런타임 프로그램을 설치합니다. 에이전트 설치는 표준 Jenkins 설치가 아니지만 이 에이전트는 JVM에서 실행됩니다. 전용 실행기에서 Jenkins의 하위 작업 또는 기본 작업을 충분히 실행할 수 있습니다.

분산 빌드

에이전트 노드 또는 슬레이브 노드는 얼마든지 가질 수 있습니다 . 또한 마스터 노드를 구성하여 어떤 작업 또는 작업이 어떤 에이전트에서 실행되어야 하는지, 얼마나 많은 실행기 에이전트를 보유할 수 있는지를 결정할 수 있습니다. 마스터와 Jenkins 슬레이브 노드 간의 통신은 양방향이며 TCP/IP를 통해 이루어 집니다.

3. Jenkins 마스터 및 슬레이브 노드 구성

표준 Jenkins 설치에는 Jenkins 마스터가 포함되며, 이 설정에서 마스터는 빌드 시스템의 모든 작업을 관리합니다 .  여러 프로젝트에서 작업하는 경우 각 프로젝트에서 수많은 작업을 실행할 수 있습니다. 일부 프로젝트는 특정 노드를 사용해야 하므로 슬레이브 노드를 사용해야 합니다.

Jenkins 마스터는 작업 예약, 슬레이브 노드 할당 및 실행을 위해 슬레이브 노드로 빌드 전송을 담당합니다 . 또한 슬레이브 노드 상태(오프라인 또는 온라인)를 추적하고 슬레이브 노드에서 빌드 결과를 검색하여 터미널 출력에 표시합니다. 대부분의 설치에서 여러 슬레이브 노드가 작업 작성 작업에 할당됩니다.

시작하기 전에 슬레이브 노드를 추가하기 위한 모든 전제 조건이 있는지 다시 확인하십시오 .

  • Jenkins 서버 가 실행 중이며 사용할 준비가 되었습니다.
  • 슬레이브 노드 구성을 위한 다른 서버
  • Jenkins 서버와 슬레이브 서버는 모두 동일한 네트워크에 연결되어 있습니다.

마스터 서버를 구성하기 위해 Jenkins 서버에 로그인하고 아래 단계를 따릅니다.

먼저 "Jenkins 관리 -> 노드 관리 -> 새 노드"로 이동하여 새 노드를 만듭니다 .노드 관리

다음 화면 에서 "노드 이름"(slaveNode1)을 입력하고 "영구 에이전트"를 선택한 다음 "확인"을 클릭합니다 .

새 슬레이브 노드

"확인"을 클릭하면 슬레이브 노드 정보를 입력해야 하는 새로운 양식이 있는 화면으로 이동합니다 . Linux 운영 체제에서 실행되는 슬레이브 노드를 고려하고 있으므로 시작 방법은 " Launch agents via ssh"로 설정됩니다 .

같은 방식으로 이름, 설명 및 실행기 수와 같은 관련 세부 정보를 추가합니다.

"저장" 버튼을 눌러 작업을 저장합니다 . 이름이 "slaveNode1"인 "레이블"은 이 슬레이브 노드에서 작업을 설정하는 데 도움이 됩니다.

슬레이브 노드 세부 정보

4. 슬레이브 노드에서 프로젝트 빌드

이제 마스터 및 슬레이브 노드가 준비되었으므로 슬레이브 노드에서 프로젝트를 빌드하는 단계에 대해 설명합니다.

이를 위해 대시보드의 왼쪽 상단 모서리에 있는 "새 항목"을 클릭하여 시작합니다.

다음으로 "항목 이름 입력" 필드에 프로젝트 이름을 입력하고 "파이프라인 프로젝트"를 선택한 다음 "확인" 버튼을 클릭해야 합니다.

다음 화면에서 "설명"(선택 사항)을 입력하고 "파이프라인" 섹션으로 이동합니다. "정의" 필드에 파이프라인 스크립트 옵션이 선택되어 있는지 확인하십시오.

그런 다음 다음 선언적 파이프라인 스크립트를 복사하여 "script" 필드에 붙여넣습니다.

node('slaveNode1'){
    stage('Build') {
        sh '''echo build steps'''
    }
    stage('Test') {
        sh '''echo test steps'''
    }
}

다음으로 "저장"버튼을 클릭합니다. 그러면 파이프라인 보기 페이지로 리디렉션됩니다.

왼쪽 창에서 "Build Now" 버튼을 클릭하여 파이프라인을 실행합니다. 파이프라인 실행이 완료되면 파이프라인 보기가 표시됩니다.

콘솔 출력

빌드 번호를 클릭하면 빌드 내역에서 실행된 빌드 내역을 확인할 수 있습니다. 위와 같이 빌드 번호를 클릭하고 "콘솔 출력"을 선택하면 파이프라인이 우리의 slaveNode1 머신에서 실행되는 것을 볼 수 있습니다.

5. 결론

이 사용방법(예제)에서는 Jenkins의 분산 빌드가 무엇인지 살펴보고 Jenkins 마스터 노드가 슬레이브 노드를 호출하는 방법을 살펴보았습니다. 또한 Jenkins 마스터-슬레이브 구성을 설정하는 방법을 배웠습니다. 마지막으로 슬레이브 노드 구성을 테스트했습니다.

Generic footer banner