Closed tonykang22 closed 1 year ago
#!/bin/bash
## Variables
ROOT_PATH="/root"
PROJECT_PATH="$ROOT_PATH/hello-world-auto-store"
MODULE_NAME="order-manager"
MODULE_PATH="$PROJECT_PATH/$MODULE_NAME"
JAR_PATH="$MODULE_PATH/build/libs/$MODULE_NAME-1.0-SNAPSHOT.jar"
## Build
build() {
$PROJECT_PATH/gradlew build
}
## Shutdown Jar
shutdownJar() {
ps -ef | grep $JAR_PATH | grep -v "grep" | awk '{print $2}' | xargs -i{} kill -9 {}
}
## Make file paths
makeFilePaths() {
mkdir -p $PROJECT_PATH/logs
}
## Exec Jar
execJar() {
nohup java -jar -Dspring.profiles.active=dev $JAR_PATH &
}
## Check process start
checkProcessStart(){
sleep 10 && ps -ef | grep $JAR_PATH | grep -v "grep" | wc -l | awk '{ if($1 != "1") {print "Process cannot started"; exit 1;} else {print "Process start successfully"; exit 0;}}'
}
## Main
### Pull & Build
build $MODULE_NAME
### Shutdown
shutdownJar
### Make Dirs
makeFilePaths
### Exec
execJar
### Check
checkProcessStart
@tonykang22 상웅님,
작성해주신 스크립트는 저희 배포 서버 내 추가해주시면 되겠습니다. (경로 : /root/hello-world-auto-store/scripts
)
서버 내 추가해주시기 전에 다른 모듈들의 실행 스크립트와 전체적인 형식이 동일한지 마지막으로 한번 더 점검 부탁드립니다.
추가로, 모듈별 실행 스크립트의 진입점을 하나로 잡기위해 /root/hello-world-auto-store/scripts/deploy.sh
라는 스크립트를 별도로 두고 있어요.
내용 보시면 어떤 역할 하는지 대충 아실것 같습니다. 한번 직접 봐보시고 거기에도 order-manager 스크립트 실행을 위한 명령 추가해주세요.
관련해서 모르는게 있으시면 언제든 물어보세요~
@kingwaggs 윤성님,
다음과 같이 /root/hello-world-auto-store/scripts
의 deploy.sh
수정했습니다.
#!/bin/bash
### Variables
ROOT_PATH="/root/hello-world-auto-store"
SCRIPT_PATH="$ROOT_PATH/scripts"
PRODUCT_ANALYZER_DEPLOY="product-analyzer-deploy"
PRODUCT_ANALYZER_DEPLOY_SH_PATH="$SCRIPT_PATH/$PRODUCT_ANALYZER_DEPLOY.sh"
PRODUCT_ANALYZER_DEPLOY_LOG_PATH="$SCRIPT_PATH/$PRODUCT_ANALYZER_DEPLOY.log"
PRODUCT_MANAGER_DEPLOY="product-manager-deploy"
PRODUCT_MANAGER_DEPLOY_SH_PATH="$SCRIPT_PATH/$PRODUCT_MANAGER_DEPLOY.sh"
PRODUCT_MANAGER_DEPLOY_LOG_PATH="$SCRIPT_PATH/$PRODUCT_MANAGER_DEPLOY.log"
ORDER_MANAGER_DEPLOY="order-manager-deploy"
ORDER_MANAGER_DEPLOY_SH_PATH="$SCRIPT_PATH/$ORDER_MANAGER_DEPLOY.sh"
ORDER_MANAGER_DEPLOY_LOG_PATH="$SCRIPT_PATH/$ORDER_MANAGER_DEPLOY.log"
module=$1
if [ "$module" == "product-analyzer" ]
then
nohup $PRODUCT_ANALYZER_DEPLOY_SH_PATH > $PRODUCT_ANALYZER_DEPLOY_LOG_PATH 2>&1 &
elif [ "$module" == "product-manager" ]
then
nohup $PRODUCT_MANAGER_DEPLOY_SH_PATH > $PRODUCT_MANAGER_DEPLOY_LOG_PATH 2>&1 &
elif [ "$module" == "order-manager" ]
then
nohup $ORDER_MANAGER_DEPLOY_SH_PATH > $ORDER_MANAGER_DEPLOY_LOG_PATH 2>&1 &
else
echo "Usage: deploy.sh [MODULE] (product-analyzer, product-manager, order-manager)"
fi
exit 1;
@tonykang22 상웅님, 최종적으로 L7Check 에 Cloud Functions 저희 모듈별 포트 분리하여 적용하는것까지 체크 부탁드립니다.
@kingwaggs 윤성님, 해당 작업도 완료했습니다.
이슈 사항
공통
290
product-analyzer
282
273
product-manager
가격 정책 변경
AS-IS
TO-BE
order-manager
284
288
129
252
@tonykang22 상웅님, 위에 리스트업된 공통 및 order-manager 이슈 관련하여 추가 또는 수정이 필요한 항목에 대해 업데이트 부탁드리겠습니다.