- 어떤 서비스를 만들었다고 하자, 이를 로컬 환경에서 구동한다면 이 서비스를 다른 사람이 사용할 수 있을까?
- 다른 사람들이 사용할 수 없기에, 우리는 개발한 서비스를 더 많은 사용자들이 이용할 수 있도록 배포해야 한다.
🍥 회사마다 차이가 있을 수 있지만, 기본적으로 위의 4 단계를 거쳐 개발한 서비스를 배포한다.
🍥 개발 환경에서는 개발툴의 버전, 데이터베이스에 접근하는 정보(엔드포인트 등), 인증 정보 등 각각의 개발자마다 환경이 다를 수 있다. 따라서 배포에서는 환경의 차이를 이해하고 환경설정을 코드와 분리하는 것이 중요하다.
- 작성한 코드가 다른 환경에서도 작동할 수 있도록 설정을 환경 변수에 저장해야 한다.
(envvars / env)- 환경 변수가 코드 바깥으로 잘 분리되어 있다면, 어떤 인증정보도 유출되지 않고 오픈 소스가 될 수 있다.
- docker와 같은 가상화 솔루션을 사용하면, 환경 자체를 메타 데이터로 담아 모든 개발 환경을 통일시킬 수 있다.
- 코드 상의 모든 곳에는 절대경로가 아닌 상대경로를 사용해야 하며, .env와 같은 파일에 환경 변수를 설정한다.
- 환경에 따라 포트를 분기할 수 있도록 환경 변수를 설정한다.
heroku, MS Azure, Firebase, DigitalOcean, 그리고 AWS
참고 자료 : 코드 스테이츠