DevOps/배포2024. 2. 1. 16:43AWS 스왑 메모리 사용 방법

EC2 프리 티어를 사용해서 프로젝트 파일을 빌드하다 보면 서버가 멈출 때가 많다. 그 이유는 프리 티어로 제공하는 t2.micro의 메모리 용량이 너무 낮기 때문인데, Virtual Memory인 스왑 메모리를 사용하면 디스크를 메모리 처럼 사용하여 메모리 부족 문제를 해결할 수 있다. 사용 방법은 AWS 공식 홈페이지에 자세히 나와있다. 짧게 요약하자면 다음과 같다. RAM 2GB 이하에서는 스왑 공간은 최소 32MB 이상이며 RAM 용량의 1배 크기로 잡는 것을 권장한다. 2~32GB에서는 4GB + (RAM - 2GB), 32GB 이상에서는 RAM 용량의 1배 t2.micro는 1GB이기 때문에 아래와 같이 2GB로 잡으면 된다. 1. 128MB를 16번 사용하여 2GB 정도의 용량을 사용한다. ..

[CICD] Jenkins SSH 배포
DevOps2023. 10. 2. 21:55[CICD] Jenkins SSH 배포

소스 코드 변경 시 자동 빌드하기 Chron Job: UNIX 기반 OS의 시간 기반 Job Scheduler이다. 아래 Chron Job 기반의 두 가지 방법으로 빌드 트리거 설정을 할 수 있다. Build Periodcally: 일정 시간 마다 빌드를 진행한다. PollSCM: 일정 시간 마다 검사 후 코드 업데이트 사항(commit)이 있다면 빌드를 진행한다. PollSCM schedule 설정 방법 Deploy SSH 설정 SSH plugin 설치 (Publish Over SSH) Jenkins 관리 -> system -> publish over ssh -> ssh sever 추가 Test Configuration을 클릭해서 좌측 하단에 success가 출력되면 성공이다. Jenkins Proje..

[CICD] Jenkins 설치 및 기본 세팅
DevOps2023. 9. 29. 00:17[CICD] Jenkins 설치 및 기본 세팅

Docker에서 Jenkins 설치하기 Jenkins docker image pull (jenkins가 deprecated 되어 현재는 jenkins/jenkins 사용) docker pull jenkins/jenkins:원하는 버전 및 JDK 버전 Jenkins container 실행 (컨테이너가 삭제되어도 사용한 데이터를 남기기 위해 -v 옵션으로 저장할 경로를 볼륨 마운트한다.) docker run -d --name jenkins-server -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk17 Jenkins 접속 [호스트 주소 + 도커 실행 시 연결한 포트번..

브랜치 전략
DevOps/협업2023. 9. 8. 21:17브랜치 전략

개발 과정의 순간 순간을 기록하기 위해서 버전 관리 도구인 Git을 많이 사용한다. 이때 충돌을 방지하기 위해서 혹은 개발 과정의 구분을 위해 여러 분기로 나누어 작업하고, 작업한 내용을 병합하게 된다. 브랜치를 나누는 전략 중 Git Flow는 디테일하게 브랜치를 나누지만 그만큼 귀찮고, Github Flow는 덜 디테일하지만 과정이 더 간소하다. Github Flow main 브랜치와 feature 브랜치만을 가지는 간단한 방식이다. 각각의 기능마다 feature 브랜치를 생성해서 기능을 구현하고 main에 병합하면 된다. Git Flow Master(main) -> HotFix -> Release -> Develop -> Feature 5가지 브랜치로 구분하여 각각은 아래와 같은 기준으로 구분된다...

image