DevOps

DevOps

[Linux / 배포] 배포 시 사용하는 Shell Script (저장용)

killProcess.sh 원하는 Process 찾아서 삭제하기 echo "[kill process start]" # 현재 실행중인 {program}의 프로세스ID를 조회 (CURRENT_PID) CURRENT_PID=$(ps -ef | grep java | grep {program} | awk '{print $2}') echo "현재 PID : {$CURRENT_PID}" # 있으면 실행중인 프로세스를 종료하고 3초를 멈춤 if [ -z $CURRENT_PID ]; then echo "Project is not running" else echo "kill current process : $CURRENT_PID" sudo kill -9 $CURRENT_PID sleep 3 fi pullAndBuild e..

DevOps

[Linux / ubuntu] AWS Ubuntu 20.04에 swap 메모리 설정하기, Freetier 메모리 부족 현상 해결

Swap 메모리? Swap 메모리는 하드디스크의 일부를 RAM처럼 사용하도록 만들어진 메모리이다. 지금 사용 중인 컴퓨터의 메모리가 초과되었을 때, 메모리 부족 현상을 해결할 수 있다. 그러나 RAM이 아닌, HDD를 이용하는 것이기 때문에 읽고 쓰는 속도가 매우 느려진다. 테스트용으로 AWS Free Tier를 이용할 때는 좋은 옵션이다. 프로젝트를 빌드하거나, 조금의 메모리 부족으로 터지는 일을 방지할 수 있다. 1. swap file 확인 swapfile 존재 여부 확인 free sudo swapon -s 2. swap file 생성 swap을 하기 위한 swapfile 생성 sudo fallocate -l 2G /swapfile 여기선 swapfile의 용량을 2GB로 설정했다. 아래는 RAM 용..

DevOps

[AWS EC2 / 배포] SpringBoot Project 배포, EC2 ubuntu, docker

들어가기 전에.. 배포를 하는 중에 워낙 여러 번 막히기도 했고, 그 과정이 모두 기억나지 않는다. 이 글을 쓰는 이유는 순전히 기록용이다. 중간중간에 빠지는 내용도 많을 것이고, 틀린 부분도 많을 것이니 양해 부탁드립니다... 갑자기 배포를 하게 된 이유 팀 프로젝트 USports를 진행 중이다. 프런트엔드 2명과 백엔드 3명이서 진행하는 6주짜리 협업 프로젝트이다. 1주 차는 기획을 했고, 2~4주 차는 개발, 5주 차부터 리팩터링과 오류수정, 프런트-백엔드 통합, 배포 등의 과정이 예정되어 있었다. 그런데 갑자기 배포를 해야만 했다.. 기획 과정에서 API 명세서를 만들었다. 그러나 개발하는 도중에 Request, Response가 많이 변경되기도 했고, 현재 API 명세서는 백엔드 개발 상황과 조..

DevOps

[Spring / S3] SpringBoot 프로젝트 - S3 이미지 업로드

이전 글에서 S3 bucket과 IAM을 생성하고 SpringBoot project에서 S3 접근에 사용할 accessKey와 secretKey를 얻는 것까지 다뤘다. 2024.01.21 - [DevOps] - [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 [AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기 Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등 innovation123.ti..

DevOps

[AWS/S3] Spring boot project 이미지 업로드를 위해 S3 버켓 만들기

Amazon S3 버킷 만들기 IAM 만들기 생성 완료 IAM accessKey, secretKey 얻기 IAM - 사용자 - 보안 자격 증명 액세스 키 만들기 CLI 선택 accessKey, secretKey 저장 저 두 가지 Key를 저장해 뒀다가 spring properties에 등록해서 S3 bucket에 접근하는 데에 사용한다. 비밀 액세스 키 (secretKey)는 생성 시에만 검색할 수 있다. 미리 저장해둬야 한다. 다음 글에서는 SpringBoot project에서 S3에 이미지를 업로드하는 방법을 다룬다. 2024.01.21 - [DevOps] - [Spring / S3] SpringBoot 프로젝트 - S3 이미지 업로드

DevOps

[AWS/트러블슈팅] EC2 서버 느려짐 문제

문제 상황 git pull을 하고 다시 build를 하는데, 갑자기 굉장히 느려지더니 서버가 먹통이 되었었다. 우선 서버 재시작을 해봤더니 일시적으로 해결되었으나, 다시 서버가 매우 느려지는 현상이 발생했다. EC2 서버 사양 AWS EC2 위치 : 아시아 태평양 (서울) 사양 : t2.micro (Free Tier) 용량 : 30GB (Free Tier 최대) OS : ubuntu22.04 원인 예측 이 서버에는 작은 SpringBoot project 하나만 올라가 있었기 때문에 용량 문제는 아닐 거라고 판단했다. 또한, 갑자기 느려졌기에 다른 문제가 있을 거라고 생각했다. 서버에 부하가 큰 것도 아닐 것이라고 생각했다. 현재 FrontEnd 측 로컬에서 테스트 정도로만 사용하고 있었다. 검색해 보니 ..

DevOps

[AWS / SpringBoot] 스프링 부트 프로젝트 변경사항 rebuild 후 재배포 (기록용)

1. 현재 실행 중인 process 중단 ps -ef | grep {processName} (PID 확인 후 kill) sudo kill -9 {PID} 2. 변경 사항 git에서 pull 해오기 (ubuntu 서버에서 dev 브랜치를 빌드하여 배포한 상태) git checkout dev git pull origin dev 3. 다시 build 하기 chmod +x gradlew ./gradlew clean build 4. 빌드된 jar 파일 백그라운드에서 실행 (jar 파일 위치로 이동) cd build/libs (백그라운드에서 실행) sudo nohup java -jar {jar파일 명}.jar & > /dev/null 2>&1 & (그냥 실행 : ubuntu 서버 종료 시 down) sudo jav..

HSRyuuu
'DevOps' 카테고리의 글 목록