2011-10-22 6 views
0

Maven 릴리스 플러그인이 가정하는 것과는 약간 다른 의미를 갖는 "release"를하고 싶습니다.Maven, SVN 및 Hudson (jenkins)와 함께 릴리스

웹 프로젝트 (나는 "릴리스"하고 싶습니다)는 다른 허드슨 (모듈이 아닌)에 의해 빌드 된 다른 프로젝트에 따라 다릅니다.

다음은 다음을 수행해야한다 "해제"(매니페스트 증가하는 버전 번호를 추가하는) 허드슨을 통해

  • 빌드 웹 프로젝트를

    • 빌드 모든 dependend^dependend 프로젝트를
    • 배포 웹 프로젝트 (이것은 이미 일반 빌드 상태입니다.)
    • svn 위치에 버전 번호를 포함하는 새 태그를 만듭니다. x
    • 이전의 모든 svn/head 소스를 복사합니다. 교활한 새로운 태그에 나는이에게 그림

    는 SVN/머리에 $ {의 versionNumber} .0.1-SNAPSHOT에 관련된 모든 프로젝트의 모든 치어 버전이 뭔가 모든 사람들이 일을해야

  • 변화를 구축, 그것은 매우 어려운 단지 google을 통해 실제 솔루션을 찾으십시오.

  • +0

    마지막 가정은 흥미로운 것입니다. 왜 이걸 생각하니? – bmargulies

    답변

    0

    특정 요구 사항이있는 경우 가장 쉬운 방법은 스크립팅을 사용하는 것입니다. 허드슨에서는 여러 스크립팅 언어를 빌드 단계로 사용할 수 있습니다.

    0

    우리의 요구 사항과 거의 비슷합니다. 우리는 아직 젠킨스에서 완전히 완성하지 못했습니다. 그래서 우리는 절차에 따라 한

    :

    1. 트렁크의 '권리'코드가 모든 팀을 활성화하고 서로 '동기화'에서 코드를 코드 동결을 발표합니다.

    2. 코드를 검사하는 (자란) Java 도구를 실행하여 릴리스 및 릴리스 태그에 대한 분기를 만듭니다. 다음 반복을 시작하여 트렁크를 새 스냅 샷 버전으로 업데이트합니다. 이 도구는 자신의 설정 파일을 가지고있어 버전 번호가 무엇이고 어떤 프로젝트 (그리고 어디에 위치해 있는지)를 업데이트해야하는지 알고 있습니다.

    3. 우리는 우리의 내부 엔터프라이즈 레포지 (제 3 자 및 외부 리포지토리에 대해서만 알고있는)와는 거의 분리되어있는 '빌드 릴리스'작업을 실행합니다. 이 작업은 로컬 Maven Repo를 제거합니다 (다른 작업에서는 사용하지 않는 자체 repo가 ​​있음). 우리는 모든 submited-tag-parameter와 추가 된 Mega-project pom을 사용하여 우리의 프로젝트에 특정한 하위 폴더를 다운로드해야한다. (모든 작업을 루트 폴더로 옮겨야한다.) . 또한이 작업은 필요한 모든 패키지 작업을 수행합니다 (정적 컨텐츠 압축, 여러 프로젝트의 정적 파일 결합, 하나의 목표로 ...).

    4. 배포

    5. 기능 테스트

    지금까지 2있다가 자신의 직업과 (3) 완전히 우리는 단지 수동으로 시작해야, 자동화된다. 4 단계는 CI 작업에 사용되고 5 단계는 CI 계획입니다.4 단계는 릴리스 프로세스의 자동화 된 부분입니다 (일부만 포함).

    약간의 도움이되고 몇 가지 아이디어를 제공하시기 바랍니다.

    관련 문제