소스 코드 형상 관리 도구로 환경 설정 관리의 장점
- 소스 코드 형상 관리 도구로 시스템의 모든 환경에 대한 설정을 관리할 수 있다면 유익한 점이 아주 많다.
- 애플리케이션의 원하는 어떤 버전이라도 해당 버전의 코드를 불러와 소스 코드에 포함된 배포 스크립트만 실행하면 된다.
- 운영 환경과 동일한 설정으로 애플리케이션을 실행해 신속하게 버그를 재현해 볼 수 있다.
- 환경은 어떤 식으로든 차이가 있기 마련이다.
- 그리고 도커 컴포즈를 이용하면 이러한 환경 간의 설정 차이를 소스 코드 형상 관리를 통해 다룰 수 있다.
도커 컴포즈를 이용해 서로 다른 환경을 정의하는 방법
애플리케이션 구성 요소의 조합: * 모든 환경에서 전체 스택을 실행할 필요는 없다. * 모니터링을 위한 대시보드는 개발자에게는 필요가 없다 * 테스트 환경에서는 컨테이너에서 실행한 데이터베이스, 운영 환경에서는 클라우드 데이터베이스를 사용해야 할 경우도 있다. * 오버라이드 파일을 사용하면 공통된 서비스는 그대로 두고 환경마다 필요한 서비스를 달리하는 설정을 깔끔하고 간편하게 작성할 수 있다.
컨테이너 설정: * 각 환경의 상황과 요구 사항에 맞춰 설정을 바꿀 필요가 있다. * 공개 포트는 다른 컨테이너와 충돌하지 않도록 중복되지 않아야 한다. * 볼륨 경로는 테스트 환경에서는 로컬 드라이브를 사용하겠지만 운영 환경에서는 공유 스토리지가 사용될 것이다. * 오버라이드 파일과 도커 네트워크로 각 애플리케이션을 분리하는 방법을 사용 * 요구 사항을 모두 만족시키면서 단일 서버에 여러 개의 애플리케이션을 실행할 수 있다.
애플리케이션 설정: * 환경별로 컨테이너 내부 동작이 달라야 하는 경우가 있다. * 애플리케이션이 생성하는 로그 수준 * 로컬 데이터를 저장하기 위해 사용하는 캐시 크기 * 오버라이드 파일과 환경 파일, 비밀값을 이용해 상황에 맞는 애플리케이션 설정값을 컨테이너에 주입할 수 있다.