2013-08-21 4 views
0

Java 웹 응용 프로그램과 함께 계속되는 바닐라 배달 시나리오가 있다고 가정 해보십시오. 바람둥이 매니저와 톰캣을 실행하는 하나 개의 웹 서버가 빌드 서버에서 실행되는 Ant 빌드 목표연속 배송 시나리오 - 롤백 구현

하나를 실행하는 WAR 파일을 구축하고 catalina-를 사용 - 하나의 빌드를 실행하는 서버를 CruiseControl 을 - :

이 시나리오는있다 ant를 사용하여 Tomcat 관리자를 사용하여 웹 서버를 원격으로 배포 할 수 있습니다.

정말로 유용하려면 배포를 롤백 할 수 있어야합니다. 이 바닐라 설정을 감안할 때, 내가 알고있는 마지막 구성으로 롤백 할 수 있으려면 퍼즐의 추가 조각이 필요합니까? 빌드 - 한 번 배포-많은 시간이

  • 버전을 추적 할 일부 저장소에 바이너리 (WAR 파일) (예를 들어 10 마지막 빌드)를 유지

  • 에 접근하기위한

  • 답변

    2

    기본 도구는 AntHill ProUDeploy (모두 UrbanCode - 현재는 IBM의 일부) 인 것 같습니다. Anthill OS 은퇴했습니다.

    외모도 Go CD Sever처럼 보일 수도 있습니다.

    는 조금 다른 접근 방법을 시도 할 수 있습니다
    0
    1. 은 이동 현재 새 버전을 롤백하기 위해

    2. 를 배포, 단순히 #에 따라 이전 버전의 양식 # 2를 다시 배포 3

    +0

    물론 - # 4는 어떻게 구현하나요? 또는 롤백이 아카이브에서 수동으로 수행되도록 제안 하시겠습니까? – hawkeye

    0

    이 단계는 다음과 같습니다
    1. 당신이 버전 예와 subfoders을이 폴더에
    2/당신은/옵션라는 폴더가 있다고 가정 전쟁 할 수 있습니다

    /opt/wars 
         |-my-server-0.0.1/ 
         |--my-server.war 
         |-my-server-0.0.2/ 
         |--my-server.war 
         |-my-server-0.0.3/ 
         |--my-server.war 
         |-current --> my-server-0.0.3 
    

    3. 배포하기 전에 항상 새 버전으로 새 폴더를 만듭니다 (예 : 버전 0.0.4은

    /opt/wars 
         |-my-server-0.0.1/ 
         |--my-server.war 
         |-my-server-0.0.2/ 
         |--my-server.war 
         |-my-server-0.0.3/ 
         |--my-server.war 
         |-my-server-0.0.4/ 
         |--my-server.war 
         |-current --> my-server-0.0.3 
    

    4 번 해당 버전이 준비 참조 사용, 당신은 당신이 할 수있는 롤백의 경우-0.0.4 내 서버 폴더를에 "현재"의 링크를 변경
    5. 필요합니다 링크를 변경하여 이전 사본으로 전환하십시오.

    +0

    감사합니다. 수동으로 폴더를 다시 만들어야한다고 제안 하시겠습니까? – hawkeye

    +0

    최근 응답이 있으면 스크립트를 통해 생성해야합니다. – olexii

    0

    CloudMunch가이를 해결하기 위해 고려하십시오. CloudMunch는 빌드 및 빌드에 대한 전체 기록을 저장하고 태그 기반 검색을 수행하여 올바른 빌드로 돌아갈 수있게합니다. (특정 결함을 수정하여 빌드 할 수있는 가장 확실한 최종 결함을 제외하고)

    빌드를 선택하면 SQL 서버가 없어 롤백이 훨씬 간단 해집니다. 데이터베이스가있는 경우 내 대답을 참조하여 점진적으로 SQL 변경 사항을 관리하십시오. - How to continuously delivery SQL-based app?

    면책 조항 : CloudMunch에서 일합니다.