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 값을 입력
'CI&CD > Jenkins' 카테고리의 다른 글
[Jenkins Pull Request] Jenkins에 Pull Request의 빌드를 수행하는 Job 만들기 (0) | 2021.08.29 |
---|---|
[Jenkins] Jenkins Job에서 VS 빌드 시 라이선스 오류 해결방법 (0) | 2021.07.07 |
[Jenkins] 소스코드에 push가 발생할 때마다 Jenkins 빌드하기 (0) | 2021.07.04 |
[Jenkins] Jenkins 접속 주소를 IP로 변경하기 (6) | 2021.06.14 |
[Jenkins] Windows 10에 Jenkins 설치하기 (0) | 2021.06.08 |