JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[실습] ‘git pull 받아오기 → Spring Boot 빌드 → 빌드된 jar 파일 실행’의 과정을 자동화하기

JSCODE 박재성
JSCODE 박재성
2025-12-06
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
practice-automate-deploy-shell-script
type
post
updatedAt
Dec 6, 2025 05:39 AM

✅ ‘git pull 받아오기 → Spring Boot 빌드 → 빌드된 jar 파일 실행’의 과정을 자동화하기

새로운 기능이 추가될 때마다 수동으로 백엔드 서버를 배포하다보면 귀찮게 느껴진다. 그래서 이 과정을 자동화해보자. 방법은 어렵지 않다. 수동으로 백엔드 서버를 배포할 때 입력하는 리눅스 명령어를 차례대로 쉘 스크립트 파일에 작성하면 된다.
 
  1. 쉘 스크립트 파일 생성
    1. $ cd ~ $ vi delpoy.sh
       
  1. 쉘 스크립트 파일 작성
    1. #!/bin/bash echo "----git pull 받아오기----" cd /home/ubuntu/linux-springboot git pull origin main echo "----빌드하기----" ./gradlew clean build echo "----빌드된 jar 파일을 백그라운드로 실행시키기----" cd build/libs nohup java -jar linux-springboot-0.0.1-SNAPSHOT.jar >> app.log 2>&1 & echo "----Spring Boot 서버 실행 완료----"
      **참고) 위와 같이 echo 명령어를 적절하게 사용하면, 쉘 스크립트 파일의 진행 상황도 파악할 수 있고 디버깅할 때도 편해진다.
       
  1. 쉘 스크립트 파일 실행을 위해 권한 부여
    1. $ chmod +x deploy.sh
       
  1. 쉘 스크립트 파일 실행
    1. $ ./deploy.sh
      notion image
 
정말 Spring Boot 서버를 실행시킨 게 맞는 지 확인하기 위해, 기존에 실행되던 Spring Boot 서버를 종료하고 다시 실행시켜보자.
 
 

✅ 쉘 스크립트가 잘 작동한 건지 테스트하기

  1. 기존에 실행되던 Spring Boot 서버 종료하기
    1. # 방법 1 $ sudo lsof -i:8080 $ kill [PID 값] # 방법 2 $ ps aux | grep java $ kill [PID 값]
       
  1. 잘 종료됐는 지 더블체크하기
    1. 브라우저에서 http://{public IP 주소}:8080으로 접속해보기
      notion image
       
  1. 쉘 스크립트 실행시키기
    1. $ ./deploy.sh
       
  1. Spring Boot 서버 실행되고 있는 지 확인하기
    1. # 방법 1 $ sudo lsof -i:8080 # 방법 2 $ ps aux | grep java
       
  1. 잘 실행됐는 지 더블체크하기
    1. notion image
 
 
👨🏻‍🏫
쉘 스크립트 파일을 활용해 매번 수동으로 입력해야 했던 명령어들을 자동화시켰다. 이게 바로 쉘 스크립트의 힘이다. 앞으로 반복적으로 수행해야 하는 작업을 만나게 된다면 쉘 스크립트를 활용해서 자동화할 수 없을 지 고민해보자.
author
JSCODE 박재성
category
Linux
createdAt
Dec 6, 2025
series
비전공자도 이해할 수 있는 리눅스 입문/실전
slug
type
series-footer
updatedAt
Dec 6, 2025 05:28 AM
📎
이 글은 비전공자도 이해할 수 있는 리눅스 입문/실전 강의의 수업 자료 중 일부입니다.