2010-08-04 4 views
6

패치/핫픽스 릴리스를 지원하기 위해 Java 기반 제품 중 하나 인 & 빌드 절차를 적용하는 과정에 있습니다.핫픽스/패치 빌드 및 전달 방법

오늘 빌드 파이프 라인에서 전체 설치 패키지 (ISO로 포장 된 RPM 패키지 세트)를 제공합니다. 그러나 우리는 점진적 /보다 세분화 된 업그레이드/패치 발송물도 지원할 계획입니다.

초기 단계를 단순하게 유지하기 위해 전용 RPM 패키지에 더 많은 세분화 된 RPM 패키지를 설치하고이 RPM의 서브 세트 (릴리스의 변경된 패키지 만)를 전용 핫픽스 ISO에 패키지로 포함 할 계획입니다 전체 설치 ISO. (우리는 또한 바이너리 diff-RPM 같은 다른 옵션을 고려했습니다 - 별도의 핫픽스 RPM 등을 만듭니다.)

빌드 파이프 라인을 관리하는 방법에 대해 알고 싶습니다. 패키징과 버전 관리가 핵심입니다 릴리스 관리 문제도) 이런 종류의 핫픽스 배포를 지원하려면?

답변

1
난 당신이 빌드 파이프 라인 관리 방법에 대해 듣고 싶습니다

- 포장 및 버전 관리를

나는 (작업) 개념을 도입

: bug711 같은 식별로

버그 보고서를 이 버그를 수정하기 위해 건드린 모든 소스에는 버그 리포트 no.와 함께 태그가 붙습니다 (버전 제어).

이 태그는 패치를 만드는 데 필요한 모든 소스 (html, js, css 등의 정적 파일이 관련된 경우)를 체크 아웃하고 헤드 개정판으로 분기에서 병합하는 데 사용할 수 있습니다.

Java 코드의 경우 최소 배포는 아티팩트 (jar, ear, war-file)입니다. 응용 프로그램을 다시 시작해야합니다. JBoss Application Server의 경우, 우리는 '폭발'배치가 다운 타임없이 패치 할 수 있음을 발견했습니다.

정말 서버 환경과 접근 방식이 가장 적합한 응용 프로그램 종류에 따라 다릅니다. 나는 최고의 모범 사례가 하나도 없다는 것에 두려워합니다.

+0

Java 배포 단위에서 변경된 모든 이진 아티팩트를 수집하는 것으로 알고 있습니다. 이 Java jar/war는 일반 빌드와 동일한 단위입니까, 아니면 실제로 특정 패치입니까? 패치 관련 사항 인 경우 해당 항아리의 아티팩트가 JBoss 분해 된 디렉토리의 올바른 위치로 이동하는 것을 어떻게 확인합니까? 까다로운 또 다른 문제는 고객 시스템에 어떤 패치가 설치되어 있는지 어떻게 추적합니까? (우리는 이것을 추적하기 위해 RPM 버전과 전용 파일을 사용합니다.) – Erdem

+0

패치는 버그를 수정하기위한 파일이 몇 개 밖에 없습니다. Jar/war는 전체 버전 (70+ 아티팩트)과 동일한 방식으로 빌드되어 버전 저장소에 저장됩니다. 버그를 수정하려면 관련 파일 만 설치되고 QA 작업은 줄어 듭니다. 패치는 checkreport #와 함께 자동으로 작성되어 DB에서 추적됩니다. (테스트, 릴리스, 설치 ...) – stacker