Chanho_Park

[젠킨스]** Build 시 계속 다른 부분에서 멈춰서 진행 되지 않는 현상[중요] 본문

배포/Error

[젠킨스]** Build 시 계속 다른 부분에서 멈춰서 진행 되지 않는 현상[중요]

Chanho_Park 2022. 11. 5. 21:31
728x90

 

멈춤

 

또 다른 곳에서 멈춤

 

 

AWS EC2 에서 Jenkins를 설치하여 진행하고

 

모든 설정이 끝난다음 build 를 시키는데

 

계속 멈춘다. 진행이 되지를 않는다.

 

EC2도 계속 멈춰서 재부팅 해야하는 상황이 계속 발생했다.

 

해결 방법을 계속 모른채 어떻게 해야하지... 계속 재부팅 하고 또 build 하고를 수십번을 했다...

 

 

그러다 어쩌다 알게 된 사실..

 

아주 중요한 사실...

 

 

계속 멈추고 Jenkins만 멈추면 되는데 EC2까지 멈추는 현상..

 

처음 AWS 인스턴스를 만들 때

 

인스턴스 유형을 t2.micro 로 무료버전을 선택했었다.

 

이게 Jenkins를 돌릴 때 용량이 부족하다는 것이다. 

 

 

t2.micro 뿐만 아니라 t2 t3 등 micro는 전부 Jenkins를 돌리기 부적합 하다는 것이다.

 

몇시간이고 계속 투자했는데 이상하다 생각했지만

 

2~3일 안에 하느라 모든 과정을 알 수 없어 이유를 찾을 수 없었다.

 

micro 의 용량은 1GB

이 인스턴스에 Jenkins를 설치하는데

Jenkins는 용량 2GB가 필요하다.

 

 

소규모 프로젝트라면 Github 에서 제공하는 Git actions 를 사용하는 것이 가장 좋은 방법이다.

 

 

설계를 하는 단계에서 무중단 배포를 하고 당장 이틀 뒤부터 구현을 해야하는 시간이라

 

시간이 모자랐다..

 

 

이에 t2.micro 인스턴스를 그대로 두고 용량을 조금이라도 늘려서 사용할 수 있는 방법을 찾았다.

 

 

이제 그 방법에 대해 설명해보겠다.

 

 

부족한 용량을 SSD의 일정부분 swap 용량으로 할당하면된다.

 

RAM 용량이 가득찼을 때, swap 공간에 데이터를 기록해서 RAM 사양을 키운듯한 효과를 볼 수 있다.

 

다른 인스턴스에 비해서 빠르진 않더라도 Jenkins 서버 하나를 돌릴 순 있을 속도와 용량을 제공 받을 수 있다.

 

 

 

Swap 공간 할당 방법

 

AWS 에서 공식으로 용량을 늘릴 수 있는 방법을 제공해주고 있다.

 

스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당

스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 할당하는 방법은 무엇입니까? 최종 업데이트 날짜: 2021년 11월 18일 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스

aws.amazon.com

 

 

1. dd명령을 사용하여 루트 파일 시스템에 스왑 파일 생성

 

sudo dd if=/dev/zero of=/swapfile bs=128M count=16

bs : 블록크기 

count : 블록 수

swap 크기 : 블록크기 *  블록수

(128MB x 16 = 2GB)

 

 

2. 스왑 파일의 읽기 및 쓰기 권한 업데이트

sudo chmod 600 /swapfile

 

3. Linux 스왑 영역 설정

sudo mkswap /swapfile

 

4. 스왑 공간에 스왑 파일을 추가하여 스왑 파일을 즉시 사용

sudo swapon /swapfile

 

5. 프로시저가 성공적인지 확인

sudo swapon -s

여기까지 하면 swapfile 에 2GB가 할당되어 있는 것을 확인 할 수 있다.

 

 

6. /etc/fstab 파일을 편집하여 부팅 시 스왑 파일 시작

sudo vi /etc/fstab

 

하면 편집기에서 파일이 열릴 것이다.

 

아래 코드를 복사하고 , i 를 눌러 Insert 모드 진입 -> 복붙 -> ESC -> wq

 

/swapfile swap swap defaults 0 0

 

 

 

7. 추가된 free 공간을 확인한다.

free -h

아래와 같이 total 2.0G 를 확인 할 수 있다.

 

 

 

 

[참고] https://gksdudrb922.tistory.com/196

728x90