DevOps

EKS 클러스터에서 nGrinder 사용하기
개요쿠버네티스(EKS Cluster) 환경에 nGrinder를 설치하고 API 서버에 부하를 넣어보는 방법에 대해서 알아본다. nGrindernGrinder는 오픈 소스 기반의 분산 성능 테스트 도구이다.nGrinder는 Controller와 Agent로 구성된다.Controller: 테스트 계획 설정, Agent 관리, 모니터링, 테스트 결과 및 분석과 같이 관리자의 역할을 담당하는 컴포넌트Agent: 테스트 스크립트 실행, 분산 처리, 실시간 데이터 전송을 담당하는 실제 명령을 수행하는 컴포넌트따라서, nGrinder를 이용해 API 서버에 부하를 넣기 위해선 Controller, Agent를 모두 설치해야한다. nGrinder ControllernGrinder Controller를 배포하기 위한 D..

Docker: Container Exit Code
개요Docker Container의 Exit Code를 정리하고 각 코드의 의미에 대해서 정리한다.Docker Container Exit CodeDocker Container Exit Code란 컨테이너가 종료될 때 “컨테이너가 종료된 원인”을 전달하는데 사용된다.Exit Code를 통해서 컨테이너 종료의 근본적인 원인을 파악할 수 있다.Exit Code는 0 ~ 255까지의 범위를 가지며, 125 미만의 코드는 애플리케이션 사이드에서 종료 코드를 설정하고, 125 이상의 코드는 컨테이너나 시스템 레벨에서 발생한 문제이며 코드는 예약되어 있다.ListExit CodeNameDescriptionExit Code 0Purposely stopped컨테이너가 자동으로 종료됨 (정상 종료)Exit Code 1Ap..
![[Jenkins CI/CD] 5. Jenkins와 Slack 연동 및 알림 받기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdiUxYm%2FbtrzBshjnsU%2FLIFb4Yx3qdfrE6hk4KuHe0%2Fimg.png)
[Jenkins CI/CD] 5. Jenkins와 Slack 연동 및 알림 받기
젠킨스를 이용해서 스프링 부트, 그래들 프로젝트를 자동으로 서버에 배포하기 위한 절차를 정리한다. GitHub Repository 코드를 clone 하기 Gradle 프로젝트를 빌드하기 빌드된 Jar 파일을 클라우드 서버로 전달 Develop 브랜치 및 특정 라벨 설정 PR 시 자동으로 배포 (WebHook 사용) Jenkins와 Slack 연동 및 알림 받기 Jenkins와 Slack 연동 슬랙 앱을 열어서 추가하고자 하는 워크스페이스에 들어가 앱 추가를 클릭한다. 앱에서 Jenkins를 검색해서 추가를 클릭한다. Jenkins CI 통합 앱 추가를 클릭하면 슬랙과 젠킨스에서 설정해야 하는 부분을 단계별로 설명해준다, 먼저 젠킨스에서 슬랙 플러그인을 설치한다. 다음으로 젠킨스 시스템 구성에 들어가서 S..
![[Jenkins CI/CD] 4. WebHook을 이용한 자동 배포](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQ9iAJ%2FbtrzFF8zNFi%2FmtAQdGXsKo2U7qBaWGPIl0%2Fimg.png)
[Jenkins CI/CD] 4. WebHook을 이용한 자동 배포
젠킨스를 이용해서 스프링 부트, 그래들 프로젝트를 자동으로 서버에 배포하기 위한 절차를 정리한다. GitHub Repository 코드를 clone 하기 Gradle 프로젝트를 빌드하기 빌드된 Jar 파일을 클라우드 서버로 전달 Develop 브랜치 및 특정 라벨 설정 PR 시 자동으로 배포 (WebHook 사용) Jenkins Slack 연동 🪝 WebHook을 이용한 자동 빌드 및 배포 Github WebHook은 Github 내에서 어떠한 이벤트가 발생했을 때 등록한 URL로 정보를 돌려주는 기능을 말한다. 해당 기능을 통해서 프로젝트의 Develop 브랜치에 PR 후 Merget시에 Deploy 라벨이 달린 경우 이벤트를 발생 시켜 젠킨스가 Pipeline을 이용해 빌드 및 배포를 자동화하는 것이..
![[Jenkins CI/CD] 3. Jar 파일을 클라우드 서버로 전달하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDGt0j%2FbtrzwGgP0e1%2F6p6cG3q3BQZFEGZeGXKod1%2Fimg.png)
[Jenkins CI/CD] 3. Jar 파일을 클라우드 서버로 전달하기
젠킨스를 이용해서 스프링 부트, 그래들 프로젝트를 자동으로 서버에 배포하기 위한 절차를 정리한다. GitHub Repository 코드를 clone 하기 Gradle 프로젝트를 빌드하기 빌드된 Jar 파일을 클라우드 서버로 전달 Develop 브랜치 PR 시 자동으로 배포 (WebHook 사용) Jenkins Slack 연동 🚚 빌드된 Jar 파일을 클라우드 서버로 전달 이전 Github Repository Clone Stage 와 Gradle Project Build Stage를 성공적으로 수행되었다면, build/libs 경로에 실행 가능한 .jar 파일이 생성되었을 것이다. 해당 파일을 이제 Oracle Cloud 서버의 경로로 전달을 해주어야 구축되어 있는 환경에서 배포를 진행할 수 있다. 📈 J..