[Jenkins] Jenkins에서 Master-Slave 구성하기

2021. 6. 14. 22:57CI&CD/Jenkins

728x90
반응형
Jenkins를 사용하다 보면 다른 PC에서 빌드를 해야 하는 경우가 발생한다. 우리 회사를 예로 들자면 특정 파일에 회사의 전자서명을 추가할 때 전자서명을 담당하는 PC에서 빌드를 진행한다.
이런 경우 혹은 비슷한 경우를 위해 이번엔 Jenkins에서 Master-Slave 구성을 기록한다.

 

 

참고사항

 - Master : Jenkins가 구축된 PC

 - Slave : Master와 연결되어 Jenkins의 일부 Job들이 빌드될 다른 PC

1. [Jenkins 관리] 클릭 -> Security 아래에 있는 [Configure Global Security] 클릭!

 

 

2. Agents 아래에 있는 [TCP port for inbound agents]를 고정값으로 50000 설정!

  - 일반적으로 포트 번호를 50000으로 설정

  - Jenkins를 구축한 PC에서 사용하지 않는 포트번호로 고정할 것

 

3. Jenkins 홈 화면에서 좌측의 [Jenkins 관리] 클릭 후 'System Configuration' 아래에 있는 [노드 관리] 클릭!

 

4. 좌측의 [신규 노드] 클릭! -> 노드 이름을 입력하고 [Permanent Agent] 체크 후 [OK] 클릭!

 

5. 아래 사진을 참고하여 빈칸 입력!

  - # of executors : 현재 생성 중인 노드에서 동시에 빌드가 가능한 Job의 개수의 최대치를 설정

  - Labels : Jenkins의 Job에서 특정 노드를 가리킬 때 사용할 이름

  - Usage : 아래 사진의 경우엔, 현재 생성 중인 노드가 지목될 때만 현재 생성 중인 노드에서 Job을 빌드

 

6. 아래 사진을 참조하여 빈칸 입력!

  - Launch method : 아래 사진의 경우, 가능한 한 항상 연결된 상태로 유지할 것

  - Use WebSocket : 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜

    -> 체크하지 않으면 Master-Slave 구성이 되지 않는다.

 

7. Slave(PC)에서 Jenkins 접속 후 [Launch] 클릭!

  - 과정 3을 통해 노드 목록에 접근 후 방금 생성한 노드 클릭하면 아래 사진과 같은 화면이 보인다.

 

8. 아래 사진과 같이 경고 메시지가 뜰 수도 있으나 무시하고 계속 다운로드!

 

9. 다운받은 파일 실행 후 'Connected' 뜨면 성공

 

10. Jenkins Job의 구성에서 General 아래에 [Restrict where this project can be run] 체크 후 원하는 노드 이름 입력!

  - Restrict where this project can be run : 노드 개수가 2개 이상일 때부터 체크 가능(Master 노드 포함)

  - Label Expression : 과정 5에서 입력한 Label 값을 입력