spring boot

github을 이용해서 spring boot 소스를 Ubuntu에 내려받고 빌드하기

hoazzinews 2024. 11. 21. 12:13
반응형

[인프런 - 특별 30% 쿠폰할인!!] 스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!

 

블스님이 선물하는 할인쿠폰

스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!

www.inflearn.com

 

이번 글에서는 Ubuntu에 git을 설치하고 github에서 spring boot 프로젝트 소스을 내려받아 빌드하는 방법에 대해서 살펴보겠습니다.
 
1. STS4을 이용해서 spring boot 프로젝트를 간단하게 만듭니다.
  1-1:  jdk버전 - 17,
  1-2: spring boot 버전 - 3.3.5
  1-3: view template engine: Thymeleaf
  1-4: 프로젝트 이름: samplepjt
  ※ 참고: samplepjt는 home.html만 출력하는 간단한 spring boot app입니다. 본인의 app으로 진행하셔도 됩니다.  

local에서 사이트에 접속하면 home.html의 문구가 출력됩니다.

 
2. samplepjt에 git local repository를 만듭니다.
  2-1: git bash를 실행합니다.

프로젝트 경로에서 git bash를 실행합니다.

 
  2-1: git init를 이용해서 저장소를 초기화 합니다.
           $  git init 
  2-3: add와 commit 합니다.
          $  git add . 
          $  git commit -m 'first commit' 
  2-4: commit를 확인합니다.
          $  git log 

git log를 이용해서 commit이 정상적으로 이루어 졌는지 확인합니다.

 
3. github에 원격 저장소를 만듭니다.
  3-1: New 버튼을 클릭합니다.

github에 로그인 후 원격저장소를 생성합니다.

 
3-2: 저장소 이름을 입력하고 Create repository 버튼을 클릭해서 저장소를 만듭니다.

저장소 이름을 samplepjt로 합니다.

 

하단의 Create repository를 클릭합니다.
저장소 주소를 확인합니다.

 
4. samplepjt 프로젝트를 github에 push 합니다.
  4-1: 원격 저장소를 등록 합니다.
          $  git remote add origin https://github.com/taehoedu/samplepjt.git 
 
  4-2: master 브랜치 이름을 main으로 변경합니다.
          $  git branch -M main 
 
  4-3: 변경된 브랜치 이름을 확인 합니다.  

          $  git log 

master가 main으로 변경됐습니다.

 
  4-4: 원격저장소(github)에 push 합니다.
          $  git push origin main 
 
5. github에 프로젝트가 push된 것을 확인합니다.

gihhub에 프로젝트가 정상적으로 push되었습니다.

 
6. Putty를 이용해서 Ubuntu에 접속합니다. (저는 Ubuntu서버의 IP가 192.168.56.101 입니다.)

putty로 ubuntu서베에 접속

 

Ubuntu 계정 ID와 PW로 로그인 합니다. mysqldb는 제가 사용하는 Ubuntu 계정입니다.

 
 
7. git을 설치 합니다.
  7-1. 패키지 리스트 업데이트:  $  sudo apt-get update 
  7-2. git 설치:  $  sudo apt-get install git 
  7-3. git 설치 확인:  $  git --version 

설치된 git 버전이 정상적으로 출력됩니다.

 
8. git에 name과 mail을 설정 합니다.
  8-1. name 설정:  $ git config --global user.name taehoedu 
  8-1. mail 설정:  $ git config --global user.mail taehoedu@gmail.com 
 ※ 참고: taehoedu와 taehoedu@gmail.com은 필자의 git 계정정보 입니다. 
  8-2. git 설정 확인:  $ git config -l 

git 설정이 완료 됐습니다.

 
9. github에서 spring book app을 clone 합니다.
$ git clone https://github.com/taehoedu/samplepjt.git 
 
10. clone된 프로젝트를 확인합니다.
$ ls -al 

github에서 samplepjt가 clone되었습니다.

 
11. 프로젝트를 빌드하기 위해서 jdk17를 설치 합니다.
$ sudo apt-get update 
$ sudo apt-get install openjdk-17-jdk-headless 
 
12. 설치된 jdk17에 대해서 .profile에 환경변수를 설정 합니다.
  12-1. nano를 이용해서 .profile 파일 열기: $ sudo nano .profile 

계정 홈에 있는 .profile파일을 nano로 open 합니다.

 
  12-2. .profile 파일 하단에 JAVA_HOME 변수를 선언하고 PATH에 추가합니다.

JAVA_HOME 변수를 선언하고 PATH에 추가합니다.

 
  12-3. .profile 파일을 저장하고 닫습니다.
    12-3-1. 나가기 : Ctrl+x 
    12-3-2. 저장하기 : 
    12-3-3. 키보드의 'Enter' 키 누름. 
 
  12-4. 변경된 .profile 파일 실행 합니다.
      $ source .profile 
 
  12-5. JDK17 환경변수 설정을 확인합니다.
      $ echo $JAVA_HOME 

JDK17 환경변수가 정상적으로 설정되었습니다.

 
13. spring boot 프로젝트를 빌드하기 위해서 gradle 8.10.2 버전을 설치합니다.
  13-1. 'gradle-8.10.2-bin.zip' 파일을 다운로드 하기 위해서 wget을 이용합니다.
      $ wget https://services.gradle.org/distributions/gradle-8.10.2-bin.zip -P /tmp 
      ※ 참고: wget은 Linux 에서 파일을 다운로드하기 위한 도구입니다.
 
  13-2. 다운받은 'gradle-8.10.2-bin.zip' 을 unzip을 이용해서 압축해제 합니다.
      $ sudo unzip -d /opt/gradle /tmp/gradle-8.10.2-bin.zip 
 
14. gradle에 대해서 환경변수를 설정합니다.
  14-1. .profile 파일 하단에 GRADLE_HOME 변수를 선언하고 PATH에 추가합니다.

      $ sudo nano .profile 

GRADLE_HOME 변수를 선언하고 PATH에 추가합니다.

 
  14-2. .profile 파일을 저장하고 닫습니다.
    14-2-1. 나가기 : Ctrl+x 
    14-2-2. 저장하기 : 
    14-2-3. 키보드의 'Enter' 키 누름. 
 
  14-3. 변경된 .profile 파일 실행 합니다.
      source .profile 
 
  14-4. $GRADLE_HOME과 gradle 버전을 확인 합니다.
      $ echo $GRADLE_HOME 

gradle-8-10-2가 정상적으로 설정되었습니다.

 
      $ gradle -version 

gradle-8.10.2 버전을 확인합니다.

 
15. 프로젝트 디렉토리에 가서 빌드 합니다.
  $ cd samplepjt 
  $ sudo chmod 777 gradlew 
  $ sudo ./gradlew clean 
  $ sudo ./gradlew build 
  $ ls -al 

빌드 결과물로 build 디렉토리가 생성되었습니다.

 
16. 빌드된 결과물을 확인 합니다.
  $ cd build/libs 
  $ ls -al 

빌드 결과물로 samplepjt-0.0.1-SNAPSHOT.jar가 생성되었습니다.

 
17. 빌드 결과물을 이용해서 spring boot app을 실행합니다.
  $ java -jar samplepjt-0.0.1-SNAPSHOT.jar 

spring boot app이 실행되었습니다.

 
18. Windows에서 브라우저에 서버 IP(http://192.168.56.101:8090)를 입력하고 spring boot app에 접속합니다.

spering boot app이 정상적으로 실행됩니다.

 
※ 참고
이번 시간에는 git을 이용해서 소스를 서버에 배포하고 소스를 빌드 해서 app을 실행했습니다.
git을 사용하지 않고 FTP로 소스를 서버에 배포해서 빌드해도 됩니다. 하지만 git을 이용하면 버전 관리를 할 수 있다는 큰 장점이 있습니다.
만약 FTP로 서버에 배포를 하고 싶다면 다음 글을 참고하세요.
https://hoazzinews.tistory.com/1

 

Ubuntu에 FTP(vsFTPd)서버 설치하기

클라이언트와 서버 사이에서 파일을 주고/받기 위해서 사용하는 파일 전송 전용 프로토콜은 FTP(File Transfer Protocol)입니다. 그리고 Linux 및 Unix 기반 시스템에서 FTP를 이용해서 파일을 주고/받기 위

hoazzinews.tistory.com

 
FTP를 이용한 배포는 소규모 프로젝트 등에서 사용 하고, 일반적으로 git 또는 docker을 이용한 배포를 선호합니다. docker를 이용한 배포 방법에 대해서는 다음 시간에 살펴보도록 하겠습니다.