github을 이용해서 spring boot 소스를 Ubuntu에 내려받고 빌드하기
[인프런 - 특별 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으로 진행하셔도 됩니다.
2. samplepjt에 git local repository를 만듭니다.
2-1: git bash를 실행합니다.
2-1: git init를 이용해서 저장소를 초기화 합니다.
$ git init
2-3: add와 commit 합니다.
$ git add .
$ git commit -m 'first commit'
2-4: commit를 확인합니다.
$ git log
3. github에 원격 저장소를 만듭니다.
3-1: New 버튼을 클릭합니다.
3-2: 저장소 이름을 입력하고 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
4-4: 원격저장소(github)에 push 합니다.
$ git push origin main
5. github에 프로젝트가 push된 것을 확인합니다.
6. Putty를 이용해서 Ubuntu에 접속합니다. (저는 Ubuntu서버의 IP가 192.168.56.101 입니다.)
7. git을 설치 합니다.
7-1. 패키지 리스트 업데이트: $ sudo apt-get update
7-2. git 설치: $ sudo apt-get install git
7-3. git 설치 확인: $ git --version
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
9. github에서 spring book app을 clone 합니다.
$ git clone https://github.com/taehoedu/samplepjt.git
10. clone된 프로젝트를 확인합니다.
$ ls -al
11. 프로젝트를 빌드하기 위해서 jdk17를 설치 합니다.
$ sudo apt-get update
$ sudo apt-get install openjdk-17-jdk-headless
12. 설치된 jdk17에 대해서 .profile에 환경변수를 설정 합니다.
12-1. nano를 이용해서 .profile 파일 열기: $ sudo nano .profile
12-2. .profile 파일 하단에 JAVA_HOME 변수를 선언하고 PATH에 추가합니다.
12-3. .profile 파일을 저장하고 닫습니다.
12-3-1. 나가기 : Ctrl+x
12-3-2. 저장하기 : y
12-3-3. 키보드의 'Enter' 키 누름.
12-4. 변경된 .profile 파일 실행 합니다.
$ source .profile
12-5. JDK17 환경변수 설정을 확인합니다.
$ echo $JAVA_HOME
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
14-2. .profile 파일을 저장하고 닫습니다.
14-2-1. 나가기 : Ctrl+x
14-2-2. 저장하기 : y
14-2-3. 키보드의 'Enter' 키 누름.
14-3. 변경된 .profile 파일 실행 합니다.
$ source .profile
14-4. $GRADLE_HOME과 gradle 버전을 확인 합니다.
$ echo $GRADLE_HOME
$ gradle -version
15. 프로젝트 디렉토리에 가서 빌드 합니다.
$ cd samplepjt
$ sudo chmod 777 gradlew
$ sudo ./gradlew clean
$ sudo ./gradlew build
$ ls -al
16. 빌드된 결과물을 확인 합니다.
$ cd build/libs
$ ls -al
17. 빌드 결과물을 이용해서 spring boot app을 실행합니다.
$ java -jar samplepjt-0.0.1-SNAPSHOT.jar
18. Windows에서 브라우저에 서버 IP(http://192.168.56.101:8090)를 입력하고 spring 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를 이용한 배포 방법에 대해서는 다음 시간에 살펴보도록 하겠습니다.