톰캣용 블루그린

7770 단어 톰캣톰캣

톰캣 1대로 블루그린 무중단배포
xxx.war ##뒤에 번호르 붙여주면 신규 세션은 최신버전 app을 바라보고
기존 세션은 기존버전을 바라봄.
이후 기존버전을 사용중인 세션이 없어지면 자동삭제.

server.xml
<!--undeployOldVersions : 사용이 끝난 예전 버전을 자동 삭제-->
<Host name="localhost"  appBase="webapps" undeployOldVersions="true"
            unpackWARs="true" autoDeploy="true">

war 버저닝 방법

maven인경우 pom.xml 수정
<!-- 버전관리를 빌드한 시간으로 관리 -->
<!-- build time -->
<plugin>
    <groupId>com.keyboardsamurais.maven</groupId>
    <artifactId>maven-timestamp-plugin</artifactId>
    <version>1.0</version>
    <configuration>
        <propertyName>timestamp</propertyName>
        <timestampPattern>yyyy-MM-dd-HH-mm</timestampPattern>
    </configuration>
    <executions>
        <execution>
            <phase>prepare-package</phase>
            <goals>
                <goal>create</goal>
            </goals>
        </execution>
    </executions>
</plugin>
 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
 <warName>${project.artifactId}##${timestamp}</warName>
gradle인경우 build.gradle

war {
    println 'war profile : ' + profile
    doFirst {
        delete "build/libs/*.war"
    }
    archiveBaseName = 'myWar'
    if(profile !='local') {
        archiveVersion = new Date().format('yyyyMMdd-HHmmss')
    }

}

좋은 웹페이지 즐겨찾기