[Jenkins] Slave 노드 연결하기.

Jenkins 서버에 Slave 노드를 연결하면, Slave 노드에서 원격으로 빌드가 가능하다.



1. 노드 만들기
1.1. 신규 노드 생성

Jenkins 관리 - 노드 관리로 들어와서 신규 노드를 생성한다.

생성할 노드 명을 입력하고, Dumb Slave를 선택한다.


노드 생성에 필요한 속성 값들을 입력한다.

  • Remote root directory: Slave 노드에서 사용할 root 디렉토리. Slave 노드에서도 Jenkins Home 폴더가 새로 만들어지는데, 그 위치를 정하는 경로이다.
  • Labels: Jenkins에서 Job을 생성할때 이 Label을 통해서 어떤 노드에서 실행할지 선택할 수 있다.
  • Launch method: Launch slave agents via Java Web Start를 선택한다.
  • 그 외 옵션은 필요한 조건에 맞추어서 설정하면 된다.



2. 노드 연결하기
(*노드 연결은 Slave 노드로 설정할 컴퓨터에서 수행해야 한다.)

2.1. slave agent 다운 받기
Slave 노드로 Jenkins 서버에 접속한 뒤, 생성한 노드로 찾아 들어가면 아래와 같은 화면을 볼 수 있다. 여기서 Launch 버튼을 클릭하면 slave-agent.jnlp라는 파일을 다운받을 수 있다.




2.2. slave agent 실행
다운받은 slave agent를 Slave 노드로 설정할 컴퓨터에서 실행해준다. 그리고 아래와 같은 창이 뜬다면 연결에 성공한 것이다.




발생할 수 있는 오류
Master 노드 주소 오류
slave-agent.jnlp를 실행했을 때 아래와 같은 오류가 나온다면 Master 노드의 주소를 설정하지 않아서 발생하는 것이다.




이 문제는 Master 노드의 URL을 수정해주면 해결할 수 있다.
Jenkins 관리 - 시스템 설정 - Jenkins Location에 가보면 아래와 같이 Jenkins URL이 http://localhost:8080 으로 설정되어 있을 것이다.


Jenkins URL을 Master 노드의 IP주소나, Domain Name으로 바꿔주면 오류를 해결할 수 있다.

댓글

이 블로그의 인기 게시물

[Jenkins]Batch Command로 네트워크 드라이브 접근

영어 표현 공부 - Fawn over