인프런 커뮤니티 질문&답변

배종원님의 프로필 이미지
배종원

작성한 질문수

Jenkins를 이용한 CI/CD Pipeline 구축

실습11) Jenkins Pipeline 프로젝트 - Maven build pipeline

application.properties는 어떻게 불러오나요?

작성

·

238

0

제가 따로 만든 프로젝트로 젠킨스와 연동중입니다.

git 허브에 프로젝트를 push할때 properties에는 aws계정 등이 포함되어 따로 올라가지않습니다.

properties는 어떻게 불러와야하는건가요?

 

답변 2

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

application.properties 또는 application.yml 파일에 AWS, GIT 과 같이 외부서비스에 대한 인증 정보 등이 포함되어 있으면, 자체적으로 서비스 차단이 되는 경우가 많습니다. 실제로 git에 aws credential 정보를 같이 올리게 되면, AWS 서비스가 차단되어, 차단 해제 전까지는 정상적인 서비스를 사용하실 수 없습니다.

이렇게 인증 정보를 사용하시고자 할 때는 해당 서버 (배포하려는 EC2난 컨테이너, PODS 등)에 해당 인증정보를 SECRET 또는 최소화 환경변수로 등록 후에, application.properties 파일에서는 해당 정보를 참조해 와서 사용하는 것이 좋습니다. 더 권장드리는 방법은 Valut와 같이 Secret 정보를 관리해 주는 서비스를 사용하시거나, AWS에서도 KMS등의 서비스로 암호화 정보 관리 서비스를 사용하시는 것도 좋을 것 같습니다.

추가 질문 사항 있으시면 다시 글 남겨 주세요.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

properties 파일을 불러오는 방법에는 여러 가지가 있습니다. Spring Boot에서는 application.properties 파일을 자동으로 불러와서 사용합니다. 이 파일에 다양한 설정 값을 지정할 수 있으며, Spring Boot 애플리케이션 실행 시 자동으로 인식하게 됩니다.

AWS와 같은 클라우드 환경에 배포할 때는 민감한 정보(예: AWS 계정 정보)를 application.properties 파일에 직접 포함시키는 것이 아니라, 환경 변수나 별도의 설정 서비스를 이용해서 관리하는 것이 일반적입니다. 예를 들어, AWS에서는 SSM Parameter Store나 Secrets Manager 등을 이용하여 애플리케이션의 구성 데이터를 안전하게 관리할 수 있습니다.

Jenkins와 같은 CI/CD 도구를 이용할 때는 빌드 또는 배포 과정에서 외부의 설정 파일을 참조하거나, 환경 변수를 이용하여 필요한 설정 값을 주입하는 방법을 사용할 수 있습니다. 이렇게 하면 코드 저장소에 민감한 정보를 포함시키지 않으면서도, 필요한 설정을 애플리케이션에 적용할 수 있습니다.

properties 파일을 직접 관리하는 상세한 방법은 프로젝트의 요구 사항과 배포 환경에 따라 달라질 수 있으니, 구체적인 상황에 맞춰 적절한 방법을 선택하시기 바랍니다.

배종원님의 프로필 이미지
배종원

작성한 질문수

질문하기