2012-03-25 3 views
1

현재 작업중인 응용 프로그램의 빌드 프로세스. 현재 응용 프로그램을 빌드하기 위해 구성 파일은 여러 등록 정보 파일에서 사용되는 환경, 환경 유형과 국가의 조합에 따라 어셈블됩니다.여러 지역화 된 환경

조금 더 잘 설명하기 위해 폴더 계층 같이있다 : 각 폴더에 합병 선택한 조합에 따라 덮어 쓰기 속성 파일이 있습니다

|--DEFAULT 
    |-- UK 
    |-- Malaysia 
    |-- India 
|--PROD 
    |-- UK 
    |-- Malaysia 
    |-- India 
|--DEV 
    |-- UK 
    |-- Malaysia 
    |-- India 

. (각 도메인 및 각 국가마다 고유 한 속성이 있기 때문에 Prod/file은 Default/file을 덮어 쓰고 Prod/UK는 Default/UK를 덮어 씁니다.)

저는 응용 프로그램, 특히 웹 사이트, 대부분의 코드는 공통이지만 현지화 된 구성은 일부 기능 (예 : 지불 방법)을 변경하지만, 여전히 프로세스를 개선/단순화하기위한 모범 사례 또는 구축 팁을 찾을 수 없습니다. 누구든지 어떤 제안이 있습니까?

응용 프로그램은 종속성 및 CI 관리를 위해 Maven 및 Jenkins와 함께 Java로 작성되었습니다.

+2

Maven 프로파일을 확인하십시오. http://maven.apache.org/guides/introduction/introduction-to-profiles.html –

+0

Maven 어셈블리는 프로파일과 함께 사용하면 매우 유용합니다. –

답변

1

젠킨스를 사용하고 있으므로 확실히 고려해야 할 것은 Matrix (다중 구성) 빌드를 사용하는 것입니다. 아마도 두 가지 축이있을 것입니다. 하나는 환경에 대한 것이고 다른 하나는 국가에 대한 축입니다. 이 접근 방식의 이점은 구성간에 공통점을 제외하고 축 값을 기반으로 유사한 차이를 처리 할 수 ​​있도록 강제 설정 (또는 적어도 전환)해야한다는 것입니다. 또한 향후 변경 지점 수를 줄입니다.

이 접근법의 가장 심각한 단점은 제 생각에 매트릭스 빌드는 젠킨스에서 아직 '최고의 시민'이 아니기 때문에 많은 플러그인이 잘 처리하지 못해 버그 나 부족한 결과를 낳습니다. 일반 빌드에 사용할 수있는 기능. 또 다른 단점은 Matrix Builds가 다소 혼란스럽고 익숙해 져야한다는 것입니다.

+0

이 기능은 많은 문서가 없지만 지금까지 본 최고의 옵션 인 것 같습니다 ... – jasalguero