ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.