## 개발 환경의 종류
- DEV / QA / PROD
## 개발 프로세스
- 빌드 -> 코드 배포 -> 테스트
## 여러 배포환경의 관리에서 핵심은 인프라를 모듈화하여 어떤것이 변수인지 잘 설정하고 이를 잘 설계하는것.
- APP_ENV 처럼 현재 배포하고자 하는 것이 무슨환경인지 설정하고 앱내에서 사용하는 다양한 변수들을 APP_ENV에
맞게 잘 가져다 쓰는 것이 핵심
- 클라우드 리소스 내에서 인프라별 키관리가 매우 중요해서 AWS System Manager의 parameter store 와 같은
키 관리 서비스를 추천
## S3
- Simple Storage Service
- 정적 웹사이트 코드배포에 용이
- 정적 웹사이트 호스팅에 필요한 다양한 기능 제공
- AWS Cloudfront 와 함께 사용해서 최적화 가능하고 DNS관리도 가능
## ECR
- Elastic Container Registry
- 도커 이미지를 저장하는 프라이빗 레포지토리
- 실제 PRD 환경에서는 컨테이너 기반의 배포(ECS 등을 활용) 할 것이기 때문에 반드시 레포지토리가 있어야 함.
## ECS (Elastic Container Service)
- 도커 컨테이너 기반으로 서비스 운용을 가능하게 해주는 간단한 서비스
- 무중단 배포 (rolling update) 를 제공하며, Scale up 이 가능
- 백엔드 서비스를 스케일업 가능한 형태로 배포하는데 최적화
- 수많은 도커 컨테이너 서버를 띄우고 LB가 이들 사이에 밸런싱을 해줌
- Fargate, EC2 모드가 있어서 Docker Container 리소스만 띄우거나 혹은 물리적인 EC2 인스턴스 클러스터 구성 가능
- ECS 혹은 k8s 등을 통해 rolling deploy 가 처리되기 때문에 젠킨스의 역할은 배포 명령만 내려주면 된다.
: aws ecs update-service '서비스 이름'
## 계정 분리 권장
'젠킨스' 카테고리의 다른 글
젠킨스 설치 (0) | 2020.12.24 |
---|---|
Jenkins Jira 통합 (0) | 2020.12.01 |
Jenkins를 활용한 CI/CD 4강 - 젠킨스 CI/CD 파이프라인 구성 실습(2) (0) | 2020.11.19 |
Jenkins를 활용한 CI/CD 3강 - 젠킨스 CI/CD 파이프라인 구성 실습(1) (0) | 2020.11.18 |
Jenkins를 활용한 CI/CD 1강 - 젠킨스(Jenkins) 이해 (0) | 2020.11.17 |
댓글