발단
- 젠킨스를 서비스에 올리고 정상 작동을 확인하고 대시보드에 들어갈려고 링크를 넣으니 위의 오류가 발생했다
- 코드 내용은 아래와 같다
jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and probably cannot be created
at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.java:3471)
at jenkins.model.Jenkins.loadConfig(Jenkins.java:3392)
Caused: java.io.IOException
at jenkins.model.Jenkins.loadConfig(Jenkins.java:3396)
at jenkins.model.Jenkins$12.run(Jenkins.java:3491)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:177)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:305)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1170)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:221)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:120)
at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:290)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:49)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:1205)
at jenkins.model.Jenkins.<init>(Jenkins.java:992)
at hudson.model.Hudson.<init>(Hudson.java:86)
at hudson.model.Hudson.<init>(Hudson.java:82)
at hudson.WebAppMain$3.run(WebAppMain.java:247)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:264)
조치
- 확인 결과 해당 오류는 설치 파일 내에 권한이 꼬일때 발생하는 오류
- 즉 'jenkins' 사용자 및 그룹이 아닌 다른 사용자 및 그룹의 파일 권한일때 읽지 못해 발생하는 오류이다.
ll
total 87520
drwxr-xr-x 3 root root 4096 Jan 29 15:14 ./
drwxrwxrwx 5 root root 4096 Jan 29 15:14 ../
drwxr-xr-x 11 root root 4096 Jan 29 16:09 .jenkins/
-rw-r--r-- 1 root root 89542726 Jan 24 20:06 jenkins.war
-rw-r--r-- 1 root root 55850 Jan 29 15:46 jenkins_0129.log
- 그래서 젠킨스를 설치한 디렉토리를 확인해보니 위와 같이 root : root 상태로 되어있었다.
chown -R jenkins:jenkins $JENKINS_HOME
ll
total 87520
drwxr-xr-x 3 root root 4096 Jan 29 15:14 ./
drwxrwxrwx 5 root root 4096 Jan 29 15:14 ../
drwxr-xr-x 11 jenkins jenkins 4096 Jan 29 16:30 .jenkins/
-rw-r--r-- 1 jenkins jenkins 89542726 Jan 24 20:06 jenkins.war
-rw-r--r-- 1 root root 55850 Jan 29 15:46 jenkins_0129.log
systemctl restart jenkins.service
- 'chown -R jenkins:jenkins $JENKINS_HOME' 명령어를 사용하여 위와 같이 권한을 변경하고 재시작 해주었다
- 정상으로 작동되는 것을 확인하였다
참고
'트러블슈팅' 카테고리의 다른 글
[Linux] 실수로 atp(-get) remove를 사용해서 관련 패키지를 삭제했을때 대처법 (0) | 2024.03.21 |
---|---|
dpkg로 deb 삭제파일 복구 방법 (1) | 2024.02.08 |
[ELK] Elasticsearch 'curl: (52) Empty reply from server' 에러 (1) | 2024.02.05 |
[OpenVpn] openvpn.log에 timestamps 추가하기 (0) | 2024.01.24 |
[OpenStack] openstack cinder volume 삭제 오류 (1) | 2023.12.19 |