DevOps6 Jenkins Naginator 플러그인을 활용해서 Failover 구축하기 Jenkins Naginator는 Jenkins의 플러그인 중 하나로, 빌드 실패 시 자동으로 재시도하는 기능을 제공한다. 이 플러그인은 주로 불안정한 환경에서 빌드 실패를 최소화하고, 일시적인 문제로 인한 빌드 실패를 자동으로 처리하는 데 유용하다.주요 기능 Naginator 플러그인은 다음과 같은 주요 기능을 제공한다.1. 자동 재시도 설정빌드가 실패했을 때 자동으로 재시도할 수 있는 설정을 제공한다. 사용자는 재시도 횟수와 재시도 간격을 설정할 수 있다. 이를 통해 일시적인 네트워크 문제나 외부 서비스의 일시적인 장애로 인한 빌드 실패를 자동으로 극복할 수 있다.2. 조건부 재시도모든 빌드 실패에 대해 재시도하는 것이 아니라, 특정 조건에 맞는 경우에만 재시도하도록 설정할 수 있다. 예를 들어, 특.. 2024. 10. 6. Ubuntu 환경에서 Spring Boot Application을 service로 등록하기 일반적으로 리눅스 백그라운드 환경에서 스프링 부트 애플리케이션을 간단하고 빠르게 실행할 때는 nohup java -jar 명령어를 이용한다. 하지만 nohup 명령어로 실행하는 것은 로그 관리, 서비스 자동 재시작, 자원 관리 등 애플리케이션 운영에 필요한 여러 필요 사항을 쉽게 구현하기 어려운 문제를 가지고 있다. 스프링 부트 애플리케이션을 service로 등록해서 활용하는 것이 더욱 안정적이고, 한 번 구축해 놓으면 나중에 개발 단계나 운영 단계에서 훨씬 편리하기 때문에 유용하다. 아래는 우분투 환경에서 shiba-server-0.0.1-SNAPSHOT.jar 스프링 부트 애플리케이션을 'shiba' 라는 서비스로 등록하기 위한 과정을 단계별로 설명한다.1. JAR 파일 준비먼저, 실행할 JAR 파일.. 2024. 6. 8. GitHub Actions을 활용하여 클라우드 VM 서버에 스프링 부트 애플리케이션 jar 파일 배포하기 🙄 GitHub Actions?GitHub Actions는 GitHub에서 제공하는 CI/CD(Continuous Integration/Continuous Deployment) 플랫폼이다. 이를 통해 개발자는 코드를 빌드, 테스트, 배포하는 자동화된 워크플로우를 설정할 수 있다. GitHub Actions는 다양한 이벤트(예: 코드 푸시, 풀 리퀘스트 생성 등)에 반응하여 작업을 수행할 수 있다. 사이드 프로젝트를 제작하는데 젠킨스(Jenkins)까지는 부담스럽고, 가볍고 쉬운 배포 방식을 선택하고 고민한다면 GitHub Actions는 괜찮은 대안이 될 수 있다고 생각한다.1. 준비해당 포스트는 GitHub Actions를 활용해서 클라우드 VM 서버에 스프링 부트 애플리케이션 jar 파일을 배포하는.. 2024. 5. 25. 쿠버네티스 네임스페이스 삭제 안될 때 해결하기 (Terminating long time) 특정 네임스페이스에 해당하는 모든 쿠버네티스 리소스를 한 번에 삭제하고 싶어서 네임 스페이스 삭제 명령어를 입력했음에도 계속해서 Terminating 상태에서 변경되지 않는 경우가 있다. 이런 경우 어떻게 해결해야 할까? 아래 이미지처럼 네임스페이스가 계속해서 삭제되지 않는다. 1. 원인 파악하기 해당 네임스페이스를 describe를 통해 확인한다. kubectl describe namespaces [네임스페이스 명] 명령어 호출 후 출력된 내용에 SomeResourcesRemain / SomeFinalizersRemain 등의 Reason과 Message에 어떤 리소스가 남아 있는지 확인할 수 있다. 메시지 내용을 자세히 살펴보자. Some resources are remaining: cephblock.. 2024. 3. 24. Helm Chart - Loki 설치 및 그라파나 연결 방법 쿠버네티스 환경에서 Helm Chart를 이용해서 Loki를 설치 및 설정하고, 그라파나에 연결하는 방법에 대해 공유하고자 한다. 해당 포스트에서는 작성당시 Helm Chart 최신 버전의 Loki를 사용하였다. (5.43.6) 1. Helm Chart 설치 helm repo add grafana https://grafana.github.io/helm-charts helm pull grafana/loki tar xvfz loki-5.43.6.tgz cd loki 2. values.yaml 설정 loki 폴더에 있는 values.yaml 파일을 편집기로 열어서 global 부분에 dns 설정을 수정해야 한다. global: image: # -- Overrides the Docker registry glob.. 2024. 3. 11. Window 환경 React App에서 Docker Volume 사용하기 윈도우 환경 React에서 Volume을 사용하기 위해서는 WATCHPACK_POLLING 환경 설정을 사용해야 한다. 명령어로 실행하기 위해서는 하기 내용과 같이 -e 옵션과 함께 WATCHPACK_POLLING 옵션을 true 값으로 주면 된다. 두 번째 -v 옵션에서 PowerShell 에서는 ${pwd}를 사용하면 되고, CMD 환경에서는 %cd%를 사용하면 된다. docker run -it -p 3000:3000 -v /app/node_modules -v ${pwd}:/app -e WATCHPACK_POLLING=true 그다음 리액트 앱에서 변경하면 실시간으로 변경되는 것을 확인 할 수 있다. REFERENCE https://stackoverflow.com/questions/70488471/d.. 2023. 12. 20. 이전 1 다음