devops3 S3와 SQS를 활용한 jenkins CI/CD Jenkins 파이프라인을 통해 github push event 발생 시, jar 파일을 빌드하고 AWS S3로 업로드 후, Amazon SQS 메세지를 활용하여 ec2가 jar 버전 변경을 감지하고 이를 가져와 실행하는 CICD 과정을 다룬다.Architecture 실습 과정1. Amazon rds에 연결한 간단한 기사를 작성하고 저장하는 프로젝트 생성 및 github에 업로드2. Docker 내 Jenkins 설치 및 ngrok 설정호스트의 디렉토리($(pwd)/appjardir)를 컨테이너의 /var/jenkins_home/appjar 경로에 마운트하여 데이터가 지속적으로 유지되도록 설정한다.# docker 설치sudo apt install docker.io# 권한 추가 및 적용$sudo userm.. 2024. 10. 13. Kubernetes Self-Healing and LoadBalancing Minikube를 사용하여 로컬 환경에서 단일 노드 Kubernetes 클러스터를 설정하고, Docker 이미지를 기반으로 한 Spring Boot 애플리케이션을 3개의 pod로 배포하여 클러스터 외부와 통신할 수 있는 부하 분산 서비스를 구성하였다. 또한, 부하 생성기를 사용해 부하 분산 성능을 테스트하고, CPU 및 메모리 사용량을 모니터링하였다.1. Kubernetes를 위한 준비Minikube 설치curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudo install minikube-linux-amd64 /usr/local/bin/minikube && rm minikube-linux-amd64k.. 2024. 10. 7. Jenkins onPremise 환경 CI/CD 👨🏫 CI/CDCI/CD(지속적 통합 및 지속적 배포)는 소프트웨어 개발 프로세스를 자동화하고 효율화하는 방법이다.CI(지속적 통합)는 개발자들이 코드 변경을 자주 통합하여 테스트를 수행하고, 버그를 조기에 발견할 수 있도록 돕는다.CD(지속적 배포)는 코드 변경이 자동으로 배포되어 사용자에게 신속하게 제공될 수 있도록 하여, 출시 주기를 단축시킨다. 이를 통해 소프트웨어 품질을 향상시키고, 개발 및 배포 과정에서의 위험을 최소화할 수 있다.본 실습에서는 virtualbox에 구동중인 ubuntu vm에 jenkins를 실행하여 jenkins와 연결된 github repository에 push등의 변경사항이 생기면 jenkins는 파이프라인을 통해 자동 빌드 및 배포과정을 자동화 하도록 하였다.📚.. 2024. 10. 7. 이전 1 다음