Jenkins

Jenkins - swap memory로 OOM 방지하기

자몽포도 2023. 5. 8. 19:02

Jenkins t2.micro에서 사용하기 생각보다 무거웠다. 사실 처음에는 최소 요구 사항이 256메가였기 때문에 t2.nano를 사용했었다. 서버 자체가 켜지질 않길래 t2.micro로 올렸었다. t2.micro에서는 젠킨스 서버가 켜지긴한다.

 

pipeline을 구축하고 CI/CD 테스트를 해보고 있는데 작업이 제대로 수행되지 않았다. 처음에는 현재 진행중인 프로젝트를 기준으로 파이프라인을 구축해서 테스트 수행 시 메모리를 많이 사용하나 싶었다. 그래서 새 프로젝트를 파서 아주 가볍게 Test, Build 작업을 수행했는데도 실패했다. 젠킨스 웹 페이지 자체가 들어가지지 않았고 EC2 CPU 모니터링 지표를 보니 아래와 같았다.

 

 

 

프로젝트에 돈을 쓰기는 싫었다. 더 정확히 말하면 돈이 별로 없다... 그래서 해결책을 찾다가 아주 좋은 글을 찾게 되었다. 설명은 링크로 대체하겠습니다.

11. 젠킨스, AWS EC2 프리티어(t2.micro) 에서 빌드하면 메모리 부족으로 서버가 터져버리는 현상 해결 

 

요약하면 스왑 공간을 활용하는 것이다. 나도 이렇게 스왑 공간을 설정해보았다.

 

 

다시 파이프라인을 실행해보면 정상적으로 작업을 수행하고 있는것을 볼 수 있다.