Home Jenkins 자동빌드 및 배포(3)
Post
Cancel

Jenkins 자동빌드 및 배포(3)


Project 설정

아래 경로로 이동한다. Jenkins

  1. Build Step 필자는 Spring boot Gradle프로젝트로 구성하는 중이여서 Gradle Script를 실행하여 war파일 만들 수 있도록 하였다. Jenkins

  2. Send files or execute commands over SSH 설정 1번 과정에서 war를 프로젝트내에 생성했다면 해당 파일을 배포 할 리눅스서버로 전송해야하기 때문에 하는 설정이다.

    • Source files: Spring boot 프로젝트내에 war가 생성되는 경로이다.
    • Remove prefix: 배포한 이후에는 삭제한다.
    • Remote directory: 리눅스 서버에 전송 할 경로를 지정한다. 배포 할 경로는 미리 만들어 놔야한다.
    • https://sangkihan.github.io/posts/Jenkins(2) Post에서 Jenkins Service Server SSH접근설정을 할 때 기입한 Remote Directory에 Root폴더이니 주의하자.
      1
      
      mkdir /spring_project/war
      

      Jenkins

Exec command는 위 과정을 마친 후 자동 실행 할 Script라고 생각하면 된다.
Jenkins-Project부분은 생성한 프로젝트명으로 바꿔주면된다.

Jenkins

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
echo "PID Check..."

CURRENT_PID=$(ps -ef | grep java | grep "Jenkins-Project*" | awk '{print $2}')

echo "Running PID: {$CURRENT_PID}"

if [ -z "$CURRENT_PID" ]; then
    echo "Project is not running"
else
    echo "> kill -9 $CURRENT_PID"
    kill -9 $CURRENT_PID
    sleep 2
fi

echo "Deploy Project...."

nohup java -jar /home/tkdrl8908/spring_project/war/Jenkins-Project-0.0.1-SNAPSHOT.war >> /home/tkdrl8908/spring_project/logs/Jenkins-Project.log 2>&1 &

echo "Done"

빌드시작

위와 같이 설정을 마치고 프로젝트내에서 빌드시작을 누르면 아래와 같이 Gradle build를 하고 war폴더에 war파일까지 생성 된 것을 확인할 수 있다. Jenkins Jenkins

실행 포트 확인

아래 명령어를 입력하면 정상적으로 application.properties에 설정되어있는 포트로 정상적으로 올라간 것을 확인 할 수 있다. Jenkins

오류 처음에는 잘 실행이 됐지만 재실행을 하니 아래와 같이 오류가 발생하였다.
Jenkins 아무리 수정해도 오류가 없어지지 않아.. /home/tkdrl8908 경로에 Script를 생성하여 그대로 실행하니 잘 실행이 되서 아래와 같이 수정하였다. Jenkins Jenkins

This post is licensed under CC BY 4.0 by the author.
Contents