본문 바로가기

프로그래밍팁/개발환경

unix 명령어로EIPs 설정하여 개발환경과 운영환경 구분하기

반응형

unix환경에서 서비스를 구동시킬 때 사용환 경마다 설정을 해 주어야 한다. 예를 들어 DB설정 같은 것이다. DB설정은 application.yml로 할 수 있는데 환경마다 다른 파일로 실행될 수 있도록 설정할 수 있다. application-dev.yml과 application-prd.yml로 나눌 수 있다. 이렇게 파일을 나누고 환경에 따라 실행되도록 설정하면 된다. 내 프로젝트를 기준으로 한다면 local 환경에서는 application.yml로 실행하면 되는데, unix에 서비스를 구동시킬 때 어떻게 환경이 다름을 확인할 수 있을까? 그건 shell script로 가능하다. 서비스를 구동시킬 때 라이브러리나 경로 같은 것을 설정하는데, 개발은 dev로 하고 운영은 prd로 설정할 수 있다.

 

blaservice.sh 내용이다.

 

JAR_FILE_NAME=blaservice.jar

export LD_LIB_PATH="/bla/bla1/blai/blalib"
export CLASSPATH="/bla/bla1/blai/jar/blaapi_jni.jar:."

APP_HOME=/bla/bla1/blas/blae
ROUT_DIR=$APP_HOME/rout
LOG_FILE=/bla/bla1/blas/blaservice/logs/blaservice.log
PROFILE=dev
SQL_DIR=$APP_HOME/sql

SERVICE_NAME=bla-blaservice
PATH_TO_JAR=$APP_HOME/$JAR_FILE_NAME
PID_PATH_NAME=$APP_HOME/$SERVICE_NAME-pid

JAVA_EXEC=java

JAVA_OPTS="-Xms8192M -Xms8192M"
JAVA_OPTS="$JAVA_OPTS -Dspring.profile.active=$PROFILE"

 

중요한건 JAVA_OPTS="$JAVA_OPTS -Dspring.profile.active=$PROFILE" 부분인데 이 PROFILE부분으로 환경을 구분할 수 있다.