환경변수2 [Docker] Docker 컨테이너 실행(run) 시 환경변수 (여러개) 주입하기 docker run 명령어 실행 시 환경변수 주입이 왜 필요한가 스프링부트 애플리케이션을 개발하다보면 application.yml 파일에 각종 계정 정보, 키값 등 외부에 공개되어서는 안되는 정보들을 기입하게 됩니다. 따라서 위처럼 환경변수로 은닉할 정보를 갈음하곤 합니다. 그렇다면 이 애플리케이션을 Docker Image화 시켜서 구동하게 된다면 환경변수를 어떻게 설정해주어야 할까요? 아래와 같이 Dockerfile에 환경변수들을 기입해 줄수도 있지만 이 방식은 이 Dockerfile을 공개 저장소에 업로드할 수 없다는 문제점이 있습니다. 이에 대한 대안으로 Docker Container 실행하는 시점에 환경변수를 주입하는 방안이 있습니다. 환경변수를 주입하는 옵션 -e 혹은 --env 옵션은 컨테이너.. 2024. 1. 31. [Jenkins] Jenkins를 통한 배포 시 application.yml 내 환경변수 처리 개요 SpringBoot 프로젝트의 application.yml 파일에는 각종 외부 접속에 필요한 정보(URL, 계정정보 등)가 포함되어 있다. 이를 GitHub에 그대로 업로드한다면 민감한 정보가 노출되어 보안 상 문제가 되므로 아래와 같이 주요 정보들을 환경변수(${} 로 감싸져 있는 부분)로 처리해주었다. 그리고 Jenkins를 통해 해당 프로젝트를 빌드할 때, 환경변수로 처리한 부분들에 대한 정보를 주입할 수 있도록 빌드 환경 설정을 해준다. application-prod.yml server: servlet: encoding: force: true charset: UTF-8 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: .. 2023. 6. 13. 이전 1 다음