티스토리 뷰

728x90

0. 

이글은 젠킨스 새로운 노드 만들기 포스팅과 이어집니다.

This article continues with the Jenkins New Node Creation post.


https://game-happy-world.tistory.com/57

 

[Jenkins] 초심자도 알기 쉬운 젠킨스 새로운 에이전트 노드 만들기 (Create a Jenkins new agent node that is

0. 서론 Beginning 이 글에서는 그대로 따라하면 바로 할 수 있는 콘솔에서 새로운 젠킨스 에이전트 노드 만드는 방법에 대해 설명합니다. This article explains how to create a new Jenkins agent node from the console

game-happy-world.tistory.com

 

윈도우에서 에이전트 노드를 컨트롤러에 연결하고 이를 윈도우 서비스화하여 부팅시 자동으로 연결되도록 하는 방법에 대해 설명합니다.

This section explains how to connect an agent node to a controller in Windows and turn it into a Windows service so that it is automatically connected at boot time.

 

1. Openjdk 설치

최신 젠킨스는 Openjdk11부터 동작합니다. 우선 openjdk 11을 다운로드 합니다. openjdk를 다운로드 하는 방법은 구글링을 통해 쉽게 알 수 있습니다.

Latest Jenkins works from Openjdk11. First of all download openjdk 11. You can easily find out how to download openjdk by googling.

 

2. 젠킨스 작업 폴더 생성하기 Configuring the Jenkins working folder

젠킨스 연결에서 생성되는 로그나 환경설정 등이 위치할 폴더를 만듭니다. 반드시 노드 생성할 때 입력한 Remote root directory와 동일한 경로로 생성합니다.


Create a folder where logs and environment settings generated from Jenkins connections will be located. Be sure to create the same path as the remote root directory entered when creating the node.

 

3. WinSW 다운로드 및 설정 Download and setup WinSW

https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/ 여기서 가장 최신 버전의 WinSW.exe를 다운로드 합니다. 저는 winsw-2.9.0-net461.exe  를 받았습니다.
Download the latest version of WinSW.exe from here. I got winsw-2.9.0-net461.exe .

다운로드 받은 exe파일을 젠킨스 작업 폴더로 이동하고 이름을 JenkinsService로 변경합니다.

Move the downloaded exe file to the Jenkins working folder and change the name to JenkinsService.

 

그리고 JenkinsService.xml, JenkinsService.exe.config 두 파일을 생성합니다.

And create two files, JenkinsService.xml and JenkinsService.exe.config.

 

파일을 만드는 법은 아무 텍스트파일을 만든후 다른 이름으로 저장을 통해 파일명과 확장자명을 입력하면 생성할 수 있습니다.

To create a file, you can create it by creating a text file and entering the file name and extension through Save As.

 

여기서 이름을 반드시 JenkinsService로 할 필요는 없습니다. 본인이 자유롭게 정하되 세 파일의 이름이 동일해야 합니다.

You do not have to name it JenkinsService here. You are free to define it, but all three files must have the same name.

 

.xml 파일에 다음과 같이 작성합니다.

Write the following in your .xml file:

 

<service>
  <id>SERVICE_ID</id>
  <name>SERVICE_NAME</name>
  <description>SERVICE_DISCRIPTION</description>

  <executable> Path of downloaded Openjdk11 </executable>
    <arguments>-Xrs -Dfile.encoding=UTF8 -jar "%BASE%\agent.jar" -jnlpUrl http://SERVER_IP/computer/NODE_NAME/jenkins-agent.jnlp</arguments>

  <logmode>rotate</logmode>

  <onfailure action="restart" />
  
  <extensions>
    <!-- This is a sample configuration for the RunawayProcessKiller extension. -->
    <extension enabled="true" 
               className="winsw.Plugins.RunawayProcessKiller.RunawayProcessKillerExtension"
               id="killOnStartup">
      <pidfile>%BASE%\jenkins_agent.pid</pidfile>
      <stopTimeout>5000</stopTimeout>
      <stopParentFirst>false</stopParentFirst>
    </extension>
  </extensions>
  
</service>

여기서 SERVICE_ID, SERVICE_NAME, SERVICE_DISCRIPTION, Path of downloaded Openjdk11, SERVER_IP, NODE_NAME 이 6가지 항목은 여러분이 직접 작성해야 합니다.

Here, SERVICE_ID, SERVICE_NAME, SERVICE_DISCRIPTION, Path of downloaded Openjdk11, SERVER_IP, NODE_NAME These 6 items must be written by yourself.

 

특히 Path of downloaded Openjdk11, SERVER_IP, NODE_NAME 이 세가지는 정확히 맞는 값을 작성해야합니다.

In particular, Path of downloaded Openjdk11, SERVER_IP, and NODE_NAME must be exactly the right values.

 

.config 파일에는 다음과 같이 작성합니다.

Write the following in your .config file:

<configuration>
  <runtime>
    <generatePublisherEvidence enabled="false"/>
  </runtime>
  <startup>
    <supportedRuntime version="v4.0" />
  </startup>
</configuration>

이러면 윈도우 서비스를 만들기 위한 준비는 끝났습니다.

This completes the preparation for creating a window service.

 

4. agent.jar 다운로드 Download agent.jar

명령 프롬포트 창에서 다음 명령어를 젠킨스 작업 폴더로 이동한뒤 실행합니다. In the Command Prompt window, move the following command to the Jenkins working folder and run it.

 

curl -sO http://SERVER_IP/jnlpJars/agent.jar

 

그러면 작업 폴더에 agent.jar 파일이 생긴것을 확인할 수 있을것입니다.

Then you can see that the agent.jar file is created in the working folder.

 

5. 서비스 생성하기

다음 명령어를 수행하여 윈도우 서비스를 생성합니다.

Execute the following command to create a window service.

 

JenkinsService.exe install

JenkinsService는 여러분이 3. 에서 설정한 세 파일의 이름과 동일합니다.

JenkinsService has the same name as the three files you set up in 3.

 

6.서비스 실행하기

윈도우 서비스 창에서 생성된 서비스를 찾아 시작하고 젠킨스 콘솔에서 연결이 정상적으로 됐는지 확인합니다.

Find and start the created service in the Windows Services window and check if the connection is successful in the Jenkins console.

댓글