#!/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 서버 실행 완료----"
이전 강의에서 Spring Boot 서버를 실행시키는 쉘 스크립트 파일을 위와 같이 작성했다. 사실 위와 같이 작성한 쉘 스크립트 파일은 예외 상황을 고려하지 않고 정말 심플하게만 코드를 작성한 형태다. 각 명령어마다 예외 또는 에러가 발생할 상황을 고려해서 코드를 짜다보면 더 복잡해진다.
이런 복잡한 Case에 대해 나눠서 코드를 작성할 수 있게 쉘 스크립트 문법에는 if문, for문, 명령어의 결과값을 활용할 수 있는 변수 등 여러가지 기능들이 많이 있다.
하지만 초반 리눅스를 입문하는 단계에서는 쉘 스크립트를 직접 작성할 일이 많지 않기 때문에, 이번 강의에서는 일부러 쉘 스크립트를 깊이 있게 다루지 않았다. 나중에 쉘 스크립트를 본격적으로 쓸 일이 있을 때 그 때 이 부분을 깊이 파헤쳐도 늦지 않다. 리눅스를 입문할 때 한 번에 많은 걸 익히려고 욕심내다보면, 아무 것도 못 익히는 상황이 발생한다. 그러니 초반에 많이 사용할법한 명령어에 초점을 맞춰서 먼저 학습하자.
✅ 쉘 스크립트를 학습해야 하는 타이밍
‘쉘 스크립트를 이 때 익히면 가장 좋다’라는 시기는 사람마다 다를 수 있고 정답이 있지도 않다. 하지만 쉘 스크립트를 언제 공부하면 좋은 지 막막하다고 느끼는 사람들을 위해 학습하면 좋은 시기를 추천해주겠다.
위 로드맵의 순서 중에서 CI/CD를 학습하면서 쉘 스크립트를 학습하는 걸 추천한다. CI/CD 자체가 무언가를 자동화하기 위한 개념이다. 그리고 CI/CD 과정 중에 쉘 스크립트를 활용한다. 따라서 CI/CD를 학습할 때 쉘 스크립트를 같이 학습하면 효율이 좋다고 생각한다😊
참고) 쉘 스크립트를 어려워하는 수강생이 많다고 느껴지면, ‘리눅스의 쉘 스크립트’를 집중적으로 다루는 강의도 만들 예정이다.