본문 바로가기
Server/Linux

auto deploy) 자동배포 프로그램 만들기 (deploy.sh)

by v.v 2022. 6. 11.

배포는 백업하고 옮기고 저장하고 등 단순 명령어들의 나열과
단순반복이지만 실수하면 안되기 때문에 여간 신경이 쓰이지 않을 수가 없다

때문에 자동배포 프로그램을 만들었다
#사실 단순반복이 정말정말 귀찮다

 #!/bin/bash
  2
  3 TODAY=`date '+%Y%m%d'`
  4
  5 
  6 TARGET_WAR_NAME="test.war"
  7 BACKUP_WAR_NAME="${TARGET_WAR_NAME}_${TODAY}"
  8
  9 DEPLOY_PATH_DEV="/home/user/work"
 10 DEPLOY_PATH_PRD="/home/testjs/work"
 11
 12 WEBAPPS_PATH_DEV="/opt/tomcat/apache-tomcat-9.0.54/webapps"
 13 WEBAPPS_PATH_PRD="/usr/local/tomcat/apache/webapps"
 14
 15 BACKUP_WAR_DEV="${WEBAPPS_PATH_DEV}/../bak"
 16 BACKUP_WAR_PRD="${WEBAPPS_PATH_PRD}/../war_bak"
 17
 18 DEPLOY_PATH=$DEPLOY_PATH_DEV
 19 WEBAPPS_PATH=$WEBAPPS_PATH_DEV
 20 BACKUP_WAR_PATH=$BACKUP_WAR_DEV
 21
 22 DATE=[`date +%Y`/`date +%m`/`date +%d`/`date +%H`:`date +%M`:`date +%S`]
 23
 24 echo "${DATE} --------------- deploy start -----------------"
 25 echo "${DATE} exe date : ${TODAY}"
 26 echo "${DATE} backup_war : ${BACKUP_WAR_NAME}"
 27 echo "${DATE} backup_path : ${BACKUP_WAR_PATH}"
 28 echo "${DATE} deploy_path : ${DEPLOY_PATH}"
 29 echo "${DATE} ----------------------------------------------"
 30 echo "${DATE} check deploy path (pwd) "
 31 echo "${DATE} ----------------------------------------------"
 32 cd $DEPLOY_PATH
 33 pwd
 34 echo "${DATE} ----------------------------------------------"
 35 echo "${DATE} file exist (ls) "
 36 echo "${DATE} ----------------------------------------------"

테스트 환경에서 성공★

블로그에 글을 쓰며 생각해보니
현재는 sh 실행 -> 비밀번호 입력 -> 배포 -> 작업내용 화면 출력 이지만
sh 실행 -> 비밀번호 입력 -> 작업내용 화면 출력 -> 배포를 할 것인지 묻는 명령어 -> 배포
순으로 코드를 바꿔야 할 듯

shell로 처음 프로그램 다운 프로그램을 짯는데 재미지다
앞으로 차근차근 공부해서 더 많이 써먹어야지 * u *

댓글