젠킨스 서버가 안돌아간다
어느 순간부터 갑자기 젠킨스 빌드가 되지 않는다.
사실 알아차린 것도 2일이 지나서야 알아차렸다.
이래서 다들 젠킨스 관련 알림을 구현해놓은 걸까?
젠킨스 서버에 접속해보니
서버 콘솔에 접속은 가능하지만 빌드가 진행되고 있지 않았다.
원인를 찾기 위한 가설
1. 젠킨스 빌드가 총 60개 이상이 돌아가서 젠킨스 파일이 너무 많이 생겼다 -> 용량 부족
2. t2.micro로 젠킨스를 돌리기엔 무리였다. -> 서버 인스턴스 업그레이드(사실상 서버 이전..)
3. 젠킨스 파일에 문제가 발생했다. -> 젠킨스 빌드 로그 확인하여 원인 해결
원인 분석
일단 젠킨스 콘솔에 접속해 막 뒤져보던 중

이런 경고문을 보았다.
디스크 공간이 571 MB 밖에 남지 않았다니..
정말 젠킨스 빌드가 너무 많이 일어나서 그런 것인가..
일단 서버 디스크 용량때문에 문제가 발생했다는 사실을 알아냈다!
서버의 디스크 용량을 확인해보니 정말 20gb 중 500mb만 남아있었다.
그렇게 열심히 젠킨스 찌꺼기 파일 제거하는 방법을 찾아 찌꺼기 파일을 제거하고
다시 서버 용량을 확인하니
띠용
그래도 남은 용량이 1GB 도 안된다..
그럼 대체 어디서 서버 용량을 차지하고 있다는 것인가..
그렇게 서버 디스크 분석에 들어갔다.
원인 발견
그러던 중 /var/lib 에서 12GB나 차지하고 있다는 사실을 확인..
그렇게 /var/lib 의 용량을 분석해보았는데..

띠용..
전혀 생각도 못한 docker가 11gb나 차지하고 있었다.
알고보니
jenkins의 빌드가 돌아가면서
스프링 부트 프로젝트의 이미지를 생성하고 ECR 에 푸쉬하는 과정에서
젠킨스 서버에 도커 이미지가 계속해서 쌓이고 있었던 것..
전혀 예상도 못했다..
원인 해결
그렇게

도커 관련 파일을 정리하니

9.7gb 나 정리되었다.
이러한 일이 생긴 뒤로
젠킨스 파일에
ECR에 도커 이미지를 푸쉬 한후 도커 관련 파일을 정리하는 과정을 추가하였다..
또한 Discord Web Hook 을 활용
젠킨스 빌드 성공 + 실패 여부(+failover 여부)를 알림으로 받는 과정도 추가하였다!
이렇게 또 하루 성장했다..
'DevOps' 카테고리의 다른 글
자자 AWS 인스턴스에서 Jenkins + DockerContainer 돌리기 드가자~ (0) | 2025.03.28 |
---|---|
Jenkins(젠킨스)는 도커 컨테이너로 돌리지 말자 (0) | 2025.03.21 |
개발 환경과 서버 환경의 아키텍처 일치성: 스프링 부트 관점에서 (0) | 2025.03.19 |
Github Action arm64 아키텍처로 ci/cd 구축하기 (0) | 2025.03.19 |
젠킨스 서버가 안돌아간다
어느 순간부터 갑자기 젠킨스 빌드가 되지 않는다.
사실 알아차린 것도 2일이 지나서야 알아차렸다.
이래서 다들 젠킨스 관련 알림을 구현해놓은 걸까?
젠킨스 서버에 접속해보니
서버 콘솔에 접속은 가능하지만 빌드가 진행되고 있지 않았다.
원인를 찾기 위한 가설
1. 젠킨스 빌드가 총 60개 이상이 돌아가서 젠킨스 파일이 너무 많이 생겼다 -> 용량 부족
2. t2.micro로 젠킨스를 돌리기엔 무리였다. -> 서버 인스턴스 업그레이드(사실상 서버 이전..)
3. 젠킨스 파일에 문제가 발생했다. -> 젠킨스 빌드 로그 확인하여 원인 해결
원인 분석
일단 젠킨스 콘솔에 접속해 막 뒤져보던 중

이런 경고문을 보았다.
디스크 공간이 571 MB 밖에 남지 않았다니..
정말 젠킨스 빌드가 너무 많이 일어나서 그런 것인가..
일단 서버 디스크 용량때문에 문제가 발생했다는 사실을 알아냈다!
서버의 디스크 용량을 확인해보니 정말 20gb 중 500mb만 남아있었다.
그렇게 열심히 젠킨스 찌꺼기 파일 제거하는 방법을 찾아 찌꺼기 파일을 제거하고
다시 서버 용량을 확인하니
띠용
그래도 남은 용량이 1GB 도 안된다..
그럼 대체 어디서 서버 용량을 차지하고 있다는 것인가..
그렇게 서버 디스크 분석에 들어갔다.
원인 발견
그러던 중 /var/lib 에서 12GB나 차지하고 있다는 사실을 확인..
그렇게 /var/lib 의 용량을 분석해보았는데..

띠용..
전혀 생각도 못한 docker가 11gb나 차지하고 있었다.
알고보니
jenkins의 빌드가 돌아가면서
스프링 부트 프로젝트의 이미지를 생성하고 ECR 에 푸쉬하는 과정에서
젠킨스 서버에 도커 이미지가 계속해서 쌓이고 있었던 것..
전혀 예상도 못했다..
원인 해결
그렇게

도커 관련 파일을 정리하니

9.7gb 나 정리되었다.
이러한 일이 생긴 뒤로
젠킨스 파일에
ECR에 도커 이미지를 푸쉬 한후 도커 관련 파일을 정리하는 과정을 추가하였다..
또한 Discord Web Hook 을 활용
젠킨스 빌드 성공 + 실패 여부(+failover 여부)를 알림으로 받는 과정도 추가하였다!
이렇게 또 하루 성장했다..
'DevOps' 카테고리의 다른 글
자자 AWS 인스턴스에서 Jenkins + DockerContainer 돌리기 드가자~ (0) | 2025.03.28 |
---|---|
Jenkins(젠킨스)는 도커 컨테이너로 돌리지 말자 (0) | 2025.03.21 |
개발 환경과 서버 환경의 아키텍처 일치성: 스프링 부트 관점에서 (0) | 2025.03.19 |
Github Action arm64 아키텍처로 ci/cd 구축하기 (0) | 2025.03.19 |