목록DevOps/[CI-CD] (3)
민프
무중단 배포란 무엇인가?무중단 배포(Zero Downtime Deployment)란서버를 새 버전으로 배포할 때 기존 서비스에 끊김 없이 사용자에게 지속적으로 서비스를 제공하는 방식입니다. 전통적인 방식처럼 배포 중에 서비스가 잠시 중단되거나 에러가 발생하는 걸 방지하는 목적 입니다.왜 무중단 배포가 필요한가?서비스가 중단되면 사용자 경험은 나빠지고, 트래픽 손실과 매출 손실까지 이어집니다.또한 DevOps와 CI/CD가 기본이 된 지금, 자동화된 안정적인 배포 환경은 필수입니다. (실무에서는 배포하는 동안 다른 개발자들도 서버를 사용할 수 없어서 약간의 개발 딜레이가 발생하여 필수적으로 필요한 부분 같습니다.)항목설명사용성 유지고객의 UX를 해치지 않음 (특히 B2C 서비스는 타격 큼)수익 손실 방지서..
1. CI/CD란?소프트웨어 공학에서 CI/CD는 지속적 통합(영어: continuous integration)과 지속적 배포(영어: continuous delivery, CD)가 결합한 사례를 의미한다. CI/CD는 소프트웨어의 개발, 테스트와 배포를 모두 통합함으로써 소프트웨어 버그를 쉽게 찾아낼 수 있으며, 더 빠른 배포 주기를 가질 수 있게 만들어 준다.- 위키백과 CI/CD는 소프트웨어 개발에서 빌드, 테스트, 배포 프로세스를 자동화하는 방법입니다. 과거에는 개발자가 새로운 기능을 추가할 때마다 코드를 수동으로 빌드하고, 테스트하고, 서버에 배포해야 했습니다. 이 과정에서 오류 발생 가능성이 높고, 시간이 오래 걸리는 문제가 있었습니다. 이러한 문제를 해결하기 위해, CI/CD(지속적 통합 & ..
이전 포스팅에서 React를 배포할 때 S3 + CloudFront를 이용하여서 배포를 하였는데배포를 할 때 결국엔 아래 커맨드를 입력해줘야하는 절차가 있었는데 이것을 Jenkins를 이용해서 배포 업로드를 자동화 해보려고 합니다.npm run build && npm run deploy && npm run invalidate 제가 해보려고 하는 Jenkins Pipeline로직은 다음과 같습니다.1. github 및 AWS 관련 Credential 을 등록한다. (+AWS Credential Plugin 설치)2. Jenkins 파이프라인을 만들고 git에서 업로드된 react 소스코드를 clone 받는다.3. npm을 통해 소스코드를 빌드한다. (react 빌드)4. 빌드된 배포파일들을 S3로 업로드 ..