우리는 최근 Hudson을 지속적으로 통합하여 자동화 된 테스트, 정적 분석 등의 이점을 누리기 시작했습니다. 다음 단계는 성가신 수동 릴리스 프로세스를 진행하는 것입니다. 내가 상상 한 것은 2 단계 프로세스이다.Hudson + Ant + Subversion을 사용한 자동화 된 릴리스
릴리스 라인. 우리 개발 라인이 안정화되면, 우리는 지회를하고 싶습니다. 저밀도의 수요가 많은 사용자가 있기 때문에 정식 릴리스 이후 약간의 활동이 종종 발생하며 릴리스 라인의 시작 부분에서 약간의 중단 및 개발이 이루어집니다 (우리는 이것에 대한 메인 라인 개발을 막고 싶다.) 편리한 시간에 분기하는 연습을 한 다음 안정화 윈도우 (하루 또는이 시간)를 허용하는 것이 합리적이다. (이 작업은 서브 버전에서 수행되며 일반적으로 분기 이전에 개발 릴리스에 태그를 지정한 다음 분기하고 병렬 개발을 수행합니다)
분기에서 릴리스를 잘라냅니다. 현재 관련이 있습니다
- 속해있는 릴리스 번호를 지정하는 "fixup"비트입니다.
- 재치
- 태그
- 수출
- "오류 복구"을 "은 devel/스냅 샷"릴리스 번호를 반환의
- 비트를 구축 할 수 있습니다.
- 재치 허드슨이 뭔가를 운용 할에
그래서 깨끗하게 어떻게 우리를 할 수 있습니다
허드슨에서 분기 작업을 실행하는 지점 나무, 새 릴리스 제공 분기 이름을 생성하고 새로운 Hudson 작업을 생성하여 해당 분기에 대한 새로운 연속 빌드 라인을 만듭니다. (기존 -trunk 구성의 복사본에 가깝지만 일부 작업 영역 이름과 사물을 대체해야합니다 ...)
논리는 Subversion과 상호 작용하기 위해 어디에 속합니까? (아마도 개미 스크립트에있을 수 있으며 별도의 스크립트 일 수 있으며 허드슨/플러그인도이 논리를 제공하는 것으로 보입니다.)
허드슨/보조 프로세스에 대한 사용자/권한에 대한 생각 쓰기 모드에서 repo?
위의 질문도 마찬가지입니다.이 같은 논리를 자동화하기 위해 릴리스 플러그인을 사용할 수 있습니까?
편집 추가 ...
나는 허드슨 및 릴리스 플러그인 설명서를 정독했지만, 오히려 드문 드문 그리고 엔드 - 투 - 엔드에서 뻗어 일을 많은 예제가 없습니다 : "Maven을 고려해 보셨습니까?" 답변 ... 고맙습니다. Maven은 아마도 적절한 장기적인 솔루션이지만 Maven의 정확한 제약 조건으로 이동하고 기술 담당자를 교육하는 것은 모든 실행과 함께 빌드 시스템 전환이 가능하지 않음을 이해합니다. 가까운 장래에 아마도 앤트와 약간의 팔꿈치 기름으로 이것을 할 수있는 방법이있을 것입니다 ...
Maven을 사용 해본 적이 있습니까? Maven에서는 테스트에서 배포로 대상을 변경했습니다. :-P –
@Peter Lawrey : 우리는 Maven을보고 있습니다. 몇 년 전 Maven 프로젝트에서 불에 타거나 좌절 한 것을 인정합니다. 나는 이것이 오래된 뉴스라고 들었고, Maven으로의 전환을 살펴 보겠다. 그러나 장기적인 것일 것이다. (안정성/생산성 문제를 구축하라.) – andersoj
Maven을 고려하지 말라. 메이븐 (Maven)은 끔찍하고 부서지며 딱딱하고 무가치하고 바보입니다. 당신은 쉽게 자신을 잘 할 수 있습니다. –