[AWS]Deploy
배포 - 개발한 서비스를 사용자들이 이용 가능하게 하는 일련의 과정
- Development
- 각자의 컴퓨터에서 코드를 작성하고 테스트하는 과정
- 개발 단계이기 때문에 더미 데이터를 이용
- Integration
- 각자의 컴퓨터에서 작성한 코드를 합치는 과정
- 다른 코드를 침범해서 오류를 일으키지 않는지, 코드 간에 conflict가 있지는 않은지 확인
- Staging
- 실제 출시 단계인 Production 단계와 가장 유사한 환경에서 테스트를 진행
- 다양한 환경에서 테스트
- 서비스와 관련된 부서 혹은 인원의 확인 과정
- Production
- 개발된 서비스를 출시
- Production 환경에서 코드 구동, 서비스 제공
- 문제가 생기면 안 되는 단계
Development 환경과 Production 환경은 서로 다를 수 있음
배포에서는, 환경의 차이를 이해하고 환경 설정을 코드와 분리하는 것이 중요
작성한 코드가 다른 환경에서 정상 작동할 수 있게 하려면(환경 설정을 코드로부터 분리하는 방법론)
- 절대경로 대신 상대경로 사용
- 환경에 따라 포트를 분기할 수 있도록 환경변수(envvars나 env) 설정
- 환경 변수는 코드 변경 없이 배포 때마다 쉽게 변경 가능
- 설정 파일과 달리, 잘못해서 코드 저장소에 올라갈 가능성도 낮음
- (Advanced) Docker 같은 개발 환경 자체를 통일 시키는 솔루션 사용
애플리케이션의 모든 설정이 정상적으로 코드 바깥으로 분리되어 있는지 확인할 수 있는 간단한 방법은 어떠한 인증정보도 유출시키지 않고 코드가 지금 당장 오픈 소스가 될 수 있는지 확인하는 것
댓글남기기