IT/잡다구리

[Jenkins] 젠킨스 빌드 오류, jenkins.war 위치 , workspace 위치

월공 2024. 10. 16. 10:45
728x90
300x250

젠킨스 버전 업데이트 하려다가 , 기존 서버에서 java 1.8 사용중이라.. 아래와 같이 개같이 실패하고 ㅋㅋ

jenkins.model.Jenkins#cleanUp: Jenkins stopped
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: executable/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0


문제는 여기 단순히 젠킨스만 돌아가는게 아니고 온갖 배치도 다 돌아가는 서버라 괜히 java 버전 잘못 건드렸다가 호되게 당할것같아서 포기하고 여튼 업뎃 실패를 하게 되면서 젠킨스가 헤까닥 했었는데 다행히
기존 젠킨스 war 파일이 살아있어서 롤백을 하면서 되살리긴하였지만, 약간 꼬인감이 없잖아 있는듯하다.

다행히 전에 사용되던 war 파일이 tmp 였나 임시로 롤백 되있는 상태라 이름만 바꿔주고 젠킨스 재시작해서 되살림
war 경로는 별도로 설정 안고쳤다면 /usr/lib/jenkins 에 있을거다.

 

빌드 오류 1
cannot update the ref 'refs/remotes/origin/feature/myBranch': unable to append to '.git/logs/refs/remotes/origin/feature/myBranch ': Permission denied


해결 방법
이건 /var/lib/jenkins/workspace 경로로 진입해서 내가 배포하려는 프로젝트 폴더명 mv 로 _bak 이름 추가해서 백업해놓고
다시 재배포하니 정상작동 했다.
사실 지워도 상관없던듯
혹시 몰라서 그냥 백업 해놓음 ㅎ


빌드 오류 2
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:3.1.0:clean (default-clean) on project myProject: Failed to clean project: Failed to delete /var/lib/jenkins/workspace/myProject222/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst -> [Help 1]

해결방법
위 해결방법이랑 동일하게 그냥 /var/lib/jenkins/workspace 에서 프로젝트 날리고 하면 되는듯, 근데 이 문제는 target 폴더만 지워서 재 빌드 시도하니까 성공했음

sudo rm -rf /var/lib/jenkins/workspace/myProject/target

 

용량 부족

용량 부족해서 빌드 실패하는거 보는건 또 처음인듯 한데 ..
난 세상 모든 오류를 겪는 월야니까 ㅎㅎ

ERROR: Failed to parse POMs
java.nio.file.FileSystemException: /var/lib/jenkins/workspace/myProject/target/my_project-1.0.5-SNAPSHOT.war -> /var/lib/jenkins/jobs/myProject/modules/com.ddd$my_project/builds/35/archive/com.ddd/my_project/1.0.5-SNAPSHOT/my_project-1.0.5-SNAPSHOT.war: No space left on device

해결방법
사실 해결방법이 뭐 있겠나  .. 그냥 안쓰는 폴더 지우면된다.
10년 다되가는 1기가 넘는 .csv 확장자 파일도 지웠고 ... 젠킨스 예전 빌드본도 지워서 용량 확보했다.

# 확장자 csv 인거 다 찾기
find . -type f -name "*.csv" -print


# 아래 경로에 확장자 csv 인거 싹다 삭제하기
find /home/디렉토리 -type f -name "*.csv" -exec rm -f {} +

 

난 위 파일들 정리하는거로는 좀 부족했어서 쓰잘데기 없는 과거 빌드 폴더를 좀 몇개 날렸다
빌드한 순으로 폴더가 일일히 다 생기는데 정상적으로 빌드 된것들은 딱히 굳이 보관할 이유를 몰라서 , 어차피 소스로 다 있기도해서 날렸음

/var/lib/jenkins/jobs/myProject/modules/com/builds

위 폴더 안에 순차적으로 #1,#2,#3,#4 요렇게 폴더들이 생성되있는데 안쓰면 삭제해주자


그외 용량 확인 관련 명령어 첨부

#각 폴더별 용량 확인
sudo du -sh /* 2>/dev/null | sort -h

#해당 폴더 용량 확인
sudo du -sh /var/lib/jenkins/jobs/myProject


그외 용량확인 국룰 명령어
df -h

Filesystem              Size  Used Avail Use% Mounted on
devtmpfs                3.9G   72K  3.9G   1% /dev
tmpfs                   3.9G     0  3.9G   0% /dev/shm
/dev/nvme0n1p1           20G   20G   55M 100% /
/dev/mapper/vg01-lvol1  485G  201G  260G  44% /data

하나 재밌는건 폴더명에 $ 달러가 들어가있는게 있었는데 , 암만 해도 cd 로 접근이 안되는것
딱봐도 특수문자 때문에 안되는거 같아서 , 마치 mysql 에 홀따옴표 정상적으로 insert 안되는것 마냥
앞에 \ 요거 붙여주면 정상적으로 찾아갈수 있다.

예를들어 폴더명이 my$project 라 하면 cd ./my\$project 요런식

728x90
300x250