이 문서는 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) 실행 폴더 구성
- C:\Jenkins 폴더 생성
- agent.jar 파일을 C:\Jenkins에 복사
- Windows Service Wrapper 다운로드 (WinSW GitHub Releases)
WinSW-x64.exe - 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) 서비스 등록 및 시작
- cd C:\Jenkins
- 서비스 등록
jenkins-agent.exe install
- 서비스 시작
jenkins-agent.exe start
- 서비스 로그 확인
- Jenkins Wrapper: C:\Jenkins\jenkins-agent.wrapper.log
- Jenkins: C:\Jenkins\remoting\logs\remoting.log