2017-11-02 6 views
-1

스프링 부트 애플리케이션의 경우 배포를 위해 선택한 아티팩트는 단일 실행 파일 인 JAR 또는 WAR로 보입니다. 한 예로, 자신의 암호화/암호 해독을 프로젝트에 추가하여 일반 텍스트 자격 증명없이 응용 프로그램 구성을 체크인 할 수 있습니다. 구성 파일이있는 배포 아카이브를 빌드하면 빈 자격 증명을 사용하여 체크 인하 고, 패키지 및 배포하기 직전에 자격 증명을 채워야합니다. 또는 구성 파일에서 일반 텍스트 creds를 사용하도록 선택한 경우, 나는 항상 creds를 제거하고 보이는 자격 증명으로 파일을 체크하는 것을 잊어 버릴 것입니다.YAML 구성 파일 및 자격증 명 다루기

저는 YAML 구성 파일에 대해이 모든 춤을 사용하지 않고 누군가가 이것을 관리하고, 개발하고, 체크인하고, 패키지하고, 배포 할 수있는 방법에 대해 밝은 아이디어를 가지고 있는지 궁금합니다. 내 암호화/복호화 솔루션은 적어도 일반 텍스트에서 파일을 보호 JHipster의 앱

하지만 날카로운 자바 개발자가 난에서 확인 creds를 디코딩 내 암호화 유틸리티를 사용할 수 있습니다.

여기 최선의 전략은 무엇입니까 ? 일부 스크립트 또는 Maven/Gradle 조작으로 cred를 쉽게 추가 할 수 있습니까? 나는 아무것도 바꾸는 게임이다.

+1

[문서] (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html)를 확인하십시오. 자격 증명을 커밋하고 싶지 않으면 구성을 외부화하지 마십시오. 예를 들어, 별도의 'application.properties' 파일을 만들어 .JAR/.WAR과 같은 폴더에 넣을 수 있습니다. 또는 환경 변수 (예 :'SPRING_DATASOURCE_USERNAME')를 사용할 수 있습니다. 하지만 ** 가장 좋은 ** 전략이 무엇인지 물어 보면, 스택 오버플로에 대한 논제는 독창적 인 답변으로 이어질 것이기 때문에. – g00glen00b

+0

여기에 없으면 찬성 답변을 얻을 수있는 곳이 있습니까? –

+1

https://stackoverflow.com/questions/45650601/jhipster-application-prod-yml-stores-sensitive-info-on-github/45652681#45652681을 읽으셨습니까? –

답변

0

명백한 해결책은 로컬과 배포 된 구성을 외부화하는 것입니다. 그리고 내 자식 보고서에서 템플릿 설정 (creds없이)을 덮어 쓸 수 있다면, 필자는 configs의 템플릿 버전과 repo를 가지고있을 것입니다.