본문 바로가기

Testing Tools/Jenkins

Jenkins :: VirtualBox Slave 관리 (2/2)

Jenkins :: VirtualBox Slave 관리 (1/2)


3. Virtualbox Node 추가

   VirtualBox Cloud 설정이 완료되었다. VirtualBox Node를 추가하도록 한다. Jenkins 서버에서 "Jenkins 관리" >> "노드 관리" 를 선택한다. 좌측의 "신규 노드"를 선택하여 아래와 같이 작성한다.



   VirtualBox Slave로 노드를 등록한다.


   노드가 추가되었다. Jenkins 서버의 좌측에 새로운 노드가 추가된 것을 확인할 수 있다.


4. Virtualbox Node 설정

  추가된 노드를 선택하고, 좌측의 메뉴에 노드 설정을 할 수 있는 메뉴를 선택한다.



   아래와 같이 VirtualBox Node를 설정한다. 

   VirtualBox Host를 선택하면 방금 추가한 VirtualBox Cloud가 보일 것이다. 선택한다.


   VirtualBox Cloud가 선택되면, 해당 가상머신 서버가 관리하는 가상머신 목록들을 확인할 수 있다. 원하는 가상머신을 선택한다.



   나머지 설정은 아래와 같이 수행하고, 저장을 누른다.

  • Virtual Machine Type : headless 로 설정한다.
  • Virtual Machine Stop Mode : powerdown
  • # of Executors : 2 (동시에 수행할 Job 수)
  • Remote FS root : C:\Jenkins
  • Usage : Only build jobs with label restriction matching this node
  • Secondary launch method : Launch slave agents via Java Web Start
  • Availability : Take this slave on-line when in demand and off-line when idle
    • in demand delay : 0 (분 단위 설정이며, 요청이 있을 시 delay 시간이다.)
    • Idle delay : 2880 (분 단위로 설정가능하며, 해당 노드가 idle 상태를 주어진 시간만큼 유지하면, 해당 가상머신을 Virtual Machine Stop Mode 형식으로 닫는다.)

5. slave-agent 수행

   해당 가상머신 노드의 설정을 완료하였다. 이제 해당 가상머신을 구동하여, Jenkins 서버와 연결을 설정해야 한다.

   가상머신을 구동하여, 웹 브라우저를 열어 Jenkins 서버로 접속을 하여, 해당 노드 페이지로 이동한다.

 



   웹 브라우저에 아래의 링크와 같이 해당 노드의 slave-agent.jnlp 를 실행하면, Jenkins 서버와 연결이 된다.

   Ex) http://192.168.50.2:8080/computer/vm_test/slave-agent.jnlp



   성공적으로 수행이 되었다면, 아래와 같이 가상머신 화면에서는 connected 화면을 확인할 수 있다.



   가상머신이 부팅시 자동으로 연결하기 위하여 service로 등록한다.

   ※ 등록하기 전에 가상머신에 "Remote FS root" 항목으로 등록된 폴더가 생성되었는지 확인한다.

       Ex) C:\Jenkins


   Service로 등록이 완료가 되면, 부팅 시 자동으로 Jenkins 서버와 연결을 수행할 것 이다. 또한, C:\Jenkins 폴더에 아래와 같이 파일들이 생성됨을 확인할 수 있다.




6. 연결 확인

   모든 설정이 완료되었다. Jenkins 서버에서 해당 가상머신 노드에 대한 제어를 수행할 수 있다. 이 이후는 해당 노드에 Job을 할당하여 자동 빌드를 수행할 수 있다. 일단 작업 중이었던 가상머신의 전원을 내린다.

   Jenkins 서버에서 노드 화면을 보면, 해당 노드가 Offline으로 전시되는 것을 확인할 수 있다.



   해당 노드를 선택한다. 하단의 "Launch slave agent"를 클릭하면, VirtualBox Cloud를 이용하여 제어 명령을 전달할 것이다.


   잠시 후 가상머신이 구동됨을 확인할 수 있으며, 노드가 연결된 것도 확인할 수 있다.