-
Jenkins 재배포 스크립트 만들기서버 2019. 6. 15. 21:07
jenkins 빌드해서 /target 에 jar 파일이 생성되는 것까지 알아보았다.
하지만 service 까지 알아서 돌려주면 얼마나 좋을까?
이 작업이 되기 위해서는 script를 짜야한다.
#!/bin/sh #/var/lib/jenkins/workspace/Kuzal/target/*.jar target=/home/ec2-user/kuzalBE jenkins=/var/lib/jenkins/workspace/Kuzal/target filename=kuzalBE.jar # 파일있으면 삭제 echo "deleting ${filename}" cd $target if test -e $filename then rm -f $filename fi echo "delete done" #jenkins 로 배포된 파일 복사 echo "copying ${filename}" cp $jenkins/*.jar $target/kuzalBE.jar chmod 755 $target/kuzalBE.jar sleep 10 echo "copy done" #서비스 run되어있는것 삭제 echo "stop service" sudo kill $(ps aux | grep 'java -jar kuzalBE.jar' | awk '{print $2}') sleep 20 #서비스 실행 echo "start service" sudo nohup java -jar $filename 2>> /dev/null >>/dev/null & echo "started service"
나는 위와 같은 식으로 스크립트를 짜보았다.
jenkins 로 빌드를 하면 /var/lib/jenkins/worksapce/{projectName}/target 에 jar/war 파일이 생기는데
이 파일을 내가 만든 폴더에 이동시키고, 기존에 돌아가는 서비스가 있으면 kill, 그리고 새로운 파일을 run 시키는 스크립트다.
그리고 jenkins 에서 아래와 같이 설정해주면 끝!
'서버' 카테고리의 다른 글
SpringBoot에 QueryDSL 적용하기(Maven) (1) 2019.07.14 Springboot와 Mongodb 연결 (0) 2019.07.07 Jenkins로 빌드, 배포하기 (0) 2019.06.09 Jenkins 세팅(기초) (0) 2019.06.09 [Docker] 실행중인 컨테이너 접속하기 (0) 2019.04.07