웹 응용 프로그램의 연속 통합 시스템에 대한 배포 옵션을 찾고 있습니다. 우리는 하나의 .war 파일을 만들고 있습니다. 여러 다른 환경 (예 : DEV, QA, STAGE 등)에 배포해야합니다. AFAIK의 ENV 특정 속성을 전달하는 두 가지 방법이 있습니다 : Tomcat을 시작할 때env 특정 속성을 웹 응용 프로그램으로 전달
먼저, -D 옵션을 사용
-Denv=DEV
이 모든 ENV의 catalina.sh
스크립트를 사용자 정의 우리를 필요로한다.
둘째, Tomcat을 실행하기 전에 환경 변수를 사용
export env=DEV;
이 각 ENV에 대한 배포 스크립트를 조정할 우리를 필요로한다. 플랫폼에 따라 달라집니다 (예 : Windows에서 set env=DEV
해야 함).
아무도이 두 가지 옵션 중 어느 것이 더 낫다고 말할 수 있습니까? 아니면 다른 좋은 것들이 있습니까?
우리는 Maven을 구축하고 있습니다. 그러나 우리는 모든 환경에 대해 하나의 빌드를 유지하고자합니다. 우리는 모든 app 설정 파일이 war 파일 외부에 상주하는 방식으로 프로젝트를 설계했습니다 (구성 변경으로 인해 Maven 빌드가 트리거되지 않음). 배포하는 동안 해당 속성 파일을로드 할 수 있도록 env 이름 (DEV, QA 등)을 응용 프로그램에 전달해야합니다. – scabbage
커플 생각 : –
1) 외부에서 설정을 준비 중이라면 왜 env 식별자가 필요합니까? 해당 env에 대한 적절한 config 파일이 배포되지 않았습니까? 2) 전에 env를 식별하기 위해 로컬 호스트 이름을 사용했습니다. 이것은 어딘가에 매핑 테이블을 가지고 있음을 의미합니다. –