Shell 스크립트는 프로젝트 가져오기, 컴파일, 패키지, 배포

2240 단어

배경 설명


그룹에서 두 대의 서버를 얻었다. 하나는 연구개발 서버이고 하나는 테스트 서버이다.그러나 그룹 운영이 방문 업로드 다운로드를 제한하기 때문에 매번 저희가 서버를 개발하여 업데이트를 해야 하거나 테스트 서버가 업데이트를 해야 할 때 오랫동안 가방을 업로드해야 하며 반드시 성공할 수 있는 것은 아니기 때문에 스크립트를 통해 해결하고자 합니다.
원장면: 1.개인 작업 컴퓨터에서 코드를 작성하여github(내망 서버에서 연구개발 서버가 아님)를 제출합니다. 2.로컬 테스트 완료, 전단과 연결, 디버깅, 복구 bug3.로컬로jar로 포장하여 연구개발 서버에 업로드 4.연구 개발 환경에서 1차 테스트를 진행하다.만약에 연구 개발에 문제가 있으면 로컬 테스트로 돌아가 연구 개발 환경을 업데이트(업로드jar배치)6.연구 개발 1차 테스트 완료 문제 없음, 테스트 환경 배치, 2차 테스트 7.만약 2차 테스트에 문제가 있다면, 직접 로컬 테스트로 돌아가 8.버그가 끝날 때까지 위의 절차를 반복합니다.
최적화 후: 1.개인 작업 컴퓨터에서 코드를 작성하여 연구 개발 서버의github2를 제출합니다.로컬 테스트 완료, 전단과 연결, 디버깅, 복구 bug3.연구개발 서버에서git 명령으로 프로젝트를 추출하고 mvn을 패키지 배치하여 연구개발 환경에 발표한다.테스트 완료 후 직접 scp 테스트 환경에 테스트 서버 서비스 인터페이스 재배치
비고: a. 연구개발 서버에github(다른 서버에서 추출할 수도 있지만 추출할 수 있음)를 설치해야 한다. b. 연구개발 서버에maven(컴파일링 패키지 사용) c. 스크립트를 작성하여git로 최신 코드를 추출하고 컴파일링, 패키지링, 연구개발 환경배치(현재 서비스 정지 포함)d. 스크립트 패키지 테스트 환경을 작성해야 한다.

최적화 프로세스


1.github 설치
 github, , 。
 github, Google。

2. maven 설치
 maven, , mvn ,
 maven jre.

3. 개발 환경 서비스 배치 스크립트 작성
#!/bin/sh

#  

DIR=$(cd `dirname $0`; pwd)

SERVICE_NAME=$(basename $DIR)

# JAR , 
PATH_TO_JAR=${SERVICE_NAME}.jar

./service-java.sh stop

rm -rf ${SERVICE_NAME}.jar

API_JAR=/home/api/${SERVICE_NAME}

rm -rf ${API_JAR}/${SERVICE_NAME}-1.0-SNAPSHOT.jar

PID_PATH_NAME=`dirname ${PATH_TO_JAR}`/${SERVICE_NAME}.pid

SOURCE_CODE_PARENT_FOLDER=/home/source/smartvls/

TARGET_JAR_FOLDER=/home/source/smartvls/${SERVICE_NAME}/target/${SERVICE_NAME}-1.0-SNAPSHOT.jar

cd ${SOURCE_CODE_PARENT_FOLDER}

git pull -r

mvn clean install -pl ${SERVICE_NAME} -am

mv ${TARGET_JAR_FOLDER} ${API_JAR}/${SERVICE_NAME}.jar

cd  ${API_JAR}

./service-java.sh start

# , 
ssh 172.X.X.181  "cd $API_JAR && ./service-java.sh stop && rm -rf ./${SERVICE_NAME}.jar && scp -r [email protected]:${API_JAR}/${SERVICE_NAME}.jar ./${SERVICE_NAME}.jar ; ./service-java.sh start ; exit"

비고: 여기는 연구 개발과 테스트 사이의 비밀 해제 ssh 로그인이 필요합니다.
여기에 문제가 하나 있을 거예요. 바로...service-jave.shstop 명령은 반드시 서비스를 멈출 수 없습니다. 만약 시작에 성공하지 못했다면 다시 서비스를 죽여야 합니다. 이 서비스를 다시 시작하면 됩니다.
다음으로 전송:https://blog.51cto.com/4837471/2380187

좋은 웹페이지 즐겨찾기