이 문서는 Linux, Windows 환경에서 서비스 모드로 Jenkins agent를 설치하는 방법을 정리한다.

Linux 환경

Step 1) 실행 폴더 구성

sudo mkdir -p /var/jenkins
sudo mv agent.jar /var/jenkins/

Step 2) Jenkins 전용 사용자 생성

시스템 보안을 고려하여 Jenkins 전용 사용자 생성 및 폴더 권한 구성

sudo useradd -d /var/jenkins -s /bin/false jenkins
sudo chown -R jenkins:jenkins /var/jenkins

Step 3) 시스템 서비스 파일 준비

/etc/system/systemd/jenkins-agent.service

  • jnlpUrl: Jenkins master 주소 입력
  • secret: Jenkins secret 입력
[Unit]
Description=Jenkins Inbound WebSocket Agent
After=network.target

[Service]
Type=simple
User=jenkins
WorkingDirectory=/var/jenkins
# Force Java 21 path (adjust if your java installation path is different)
ExecStart=/usr/bin/java -jar /var/jenkins/agent.jar \
  -jnlpUrl https://<JENKINS MASTER URL> \
  -secret YOUR_SECRET_KEY \
  -workDir "/var/jenkins" \
  -webSocket \
  -noCertificateCheck
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

Step 4) 준비한 서비스 파일 반영 및 기동

sudo systemctl daemon-reload

# Start Jenkins service
sudo systemctl enable jenkins-agent.service

Step 5) 서비스 기동 상태 확인

sudo systemctl status jenkins-agent.service

# 로그 모니터링
sudo journalctl -u jenkins-agent.service -f

Windows 환경

Step 1) 실행 폴더 구성

  1. C:\Jenkins 폴더 생성
  2. agent.jar 파일을 C:\Jenkins에 복사
  3. Windows Service Wrapper 다운로드 (WinSW GitHub Releases)
    WinSW-x64.exe
  4. WinSW-x64.exe을 jenkins-agent로 파일 이름 변경

Step 2) 서비스 구성 XML 준비

C:\Jenkins\jenkins-agent.xml 파일을 준비한다.

  • YOUR_MASTER_IP: Jenkins master url 입력

  • YOUR_SECRET_HEX_KEY: Jenkins secret 입력 (성공적으로 연결된 후 secret 호가인 방법: https://jenkins-url/<agent-name>/jenkins-agent.jnlp 접속하여 jnlp 파일 다운로드하여 확인 가능)

<service>
  <id>jenkins-agent</id>
  <name>Jenkins Agent</name>
  <description>This service runs the Jenkins inbound build agent.</description>
  
  <!-- Path to your Java executable -->
  <executable>java</executable>
  
  <!-- Arguments copied from your Jenkins Master node page -->
  <arguments>-jar "C:\Jenkins\agent.jar" -url "http://<YOUR_MASTER_IP>/" -secret "<YOUR_SECRET_HEX_KEY>" -name "Windows-10-Agent" -workDir "C:\Jenkins"</arguments>
  
  <!-- Automatic restart logic if the service crashes -->
  <onfailure action="restart" delay="10sec"/>
  <onfailure action="restart" delay="20sec"/>
  
  <!-- Log rotation to prevent filling up the hard drive -->
  <logmode>rotate</logmode>
</service>

Step 3) 서비스 등록 및 시작

  1. cd C:\Jenkins
  2. 서비스 등록
    jenkins-agent.exe install
  3. 서비스 시작
    jenkins-agent.exe start
  4. 서비스 로그 확인
     - Jenkins Wrapper: C:\Jenkins\jenkins-agent.wrapper.log
     - Jenkins: C:\Jenkins\remoting\logs\remoting.log



  • 레이블 없음