반응형
1. Spring profile
- profile이란 특정한 특징이나 공통점을 찾아 그룹화 하는 것이다.
- 스프링에서는 설정이나 빈같은 것들을 그룹화 하여 하나의 프로파일로 정의하고 여러 정의된 프로파일 중 원하는 것으로 애플리케이션을 구동할 수 있다.
- 개인(local), 개발(dev), 운영(prod) 형식으로 운영가능
- 아래소스는 전자정부프레임워크 3.10 기반이다.
2. pom.xml에 적용
- <profiles> ~~ </profiles>입력 (egovframework 3.10기준)
# pom.xml 추가
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
</properties>
</profile>
</profiles>
- <build> ~~~ </build>입력 (egovframework 3.10기준)
- 해당코드추가
# pom.xml 추가
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources-${env}</directory>
</resource>
</resources>
- 아래는 적용된 소스
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>${project.artifactId}-${project.version}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources-${env}</directory>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<maxmem>1024m</maxmem>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
3. resources 영역 소스분리
- 아래와같이 datasource와 properties 파일을 분리한다.
4. Run Configurations 에서 Maven Build항목을 아래와 같이 작성
- 아래참고
5. 소스에서 마우스 우클릭후 아래항목 선택
- Maven > Select Maven Profiles...
- 아래처럼 개발시 선택가능
6. 리눅스 WAS 배포시
- apache-tomcat-8.0.47/bin 경로에 setenv.sh 파일을 만든다.
- 아래내용을 추가한다.
- WAR파일을 톰캣에 배포시 알아서 prod 운영환경으로 동작한다.
#!/bin/bash
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=prod"
반응형
'개발 > egovframework' 카테고리의 다른 글
[전자정부프레임워크] Id Generation 시퀀스 관리 (0) | 2023.05.02 |
---|---|
[전자정부프레임워크] 스프링시큐리티 로그인 적용(2/2) (0) | 2023.03.31 |
[전자정부프레임워크] 스프링시큐리티 로그인 적용(1/2) (0) | 2023.03.30 |
[전자정부프레임워크] Spring quartz 스케줄러 사용법 (0) | 2023.03.30 |
[전자정부프레임워크] 실무용 개발환경 구축해보기 (0) | 2023.03.21 |