오늘은 지난번에 스프링부트로 생성했던 프로젝트를 빌드해서
오라클클라우드 인스턴스에 만든 우분투 서버에 배포하고 실행해보자
내가 만든 프로젝트는 gradle을 이용한 프로젝트이고
빌드 할때 gradle 도구에서 하거나 명령어로 빌드할 수 있다
인텔리제이기준으로 gradle 도구가 활성화되어있지 않다면
상단 메뉴바 view(보기) 에서 gradle을 선택해 활성화 하자
jar 파일 생성은
1. gradle 도구를 통한 빌드 생성
2. 터미널에서 명령어로 빌드 생성
두가지로 모두 빌드할수 있다
gradle 도구에서도 bootJar와 build 두가지로 모두 생성이 가능하다
먼저 gradle 도구를 이용해서 빌드를 해보자
빌드를 하기전에
이전에 로컬에서 실행하면서 생겼던 빌드 파일이 남아있을것이기 때문에 clean을 먼저 하고 시작한다
프로젝트 패키지를 보면 clean이 되어 build 디렉토리는 보이지 않는다
gradle 2가지 방법을 통해 빌드를 해보면
프로젝트패키지를 보면 build 디렉토리가 생기면서 정상적으로 빌드가 된것을 확인할 수 있다
두번째로 터미널을 이용하여 빌드를 해보자
내 기준으로 인텔리제이 터미널을 사용해보겠다
os나 프로그램이 다른경우
Mac 기준으로 Terminal 앱을 이용하거나
윈도우 기준으로 command나 powershell등을 이용 가능하다
단, 터미널 등을 별도로 사용하는 경우에는 꼭 터미널 경로를 지금 열고있는 프로젝트 루트경로로 맞춰줘야 한다!!
인텔리제이에서 터미널이 보이지 않는다면
성단메뉴바에서 gradle 도구 활성화 했던것과 동일하게 터미널을 활성화 해주자
gradle 도구로 빌드했을때와 동일하게 먼저 빌드된 내용을 지워주기 위해 clean을 먼저해주자
# Mac
./gradlew build
./gradlew clean
# windows
gradlew.bat build
gradlew.bat clean
# permission denied: ./gradlew
chmod +x gradlew
gradlew (윈도우는 gradlew.bat) 파일에 대해
permission denied: ./gradlew 처럼 권한이 없다고 나오는 경우
위에 명령어를 참고하여 권한을 수정해주자
clean이 잘 되었으면 이제 명령어로 build를 해보자
빌드가 잘 되었다면
프로젝트 경로-build-libs 를 확인해보자
프로젝트명+버전+스냅샷.jar라는 파일이 생겨있다
이제 이 파일을
오라클클라우드 인스턴스에 만든 내 우분투 서버를 통해 실행 해볼 차례다
인스턴스를 생성하고 만들었던 우분투 서버에 접속해보자
나는 Mac기준으로
termius 앱을 통해 sftp에 접속했다
타 앱이나 프로그램으로 접속해도 무관하며
사용하기 편한 프로그램으로 접속하면 되겠다
sftp가 되는 프로그램이라면
파인더(윈도우탐색기) 를 사용하는 것처럼 편리하게 파일을 업로드 할 수 있다
우분투 서버로 접속하니 기본 위치인 home > ubuntu 디렉토리에서 시작한다
나는 dev 라는 이름으로 디렉토리를 추가해줬다
새로 만든 디렉터리로 이동하여
앞서 빌드했던 jar파일을 드래그앤드랍으로 편리하게 업로드 했다
내가 빌드한 파일이 잘 업로드 된 걸 볼 수 있다
이제 이 jar파일을 실행해보자
# 경로 이동
cd ./dev
# ssh가 활성화일때만 실행
java jar 파일명.jar
# ssh가 종료 되어도 백그라운드에서 계속 실행
nohup java jar 파일명.jar
우선 ssh로 서버에 접속하자
경로를 확인하고 내가 만든 디렉터리로 옮겨가자
명령어로 확인해보면 jar 파일이 확인된다
이제 진짜로 실행해보자 !!!
브라우저에서 아이피주소에 8080 포트로 접속해보니
로컬에서 테스트 했을 때와 같은 white Label 화면이 뜬다
놀라지 말고 우리가 맵핑주소로 등록해뒀던 /hello 로 접속해보자
아이피주소:8080/hello로 접속해보니 로컬테스트때와 동일하게
리턴받은 텍스트가 브라우저에 출력된다
성공이다
SSH에서도 확인해보면 로컬에서 run했을때 로그가 찍히던 모습과 동일하게
로그가 남는것을 확인할 수 있다
실행중인 스프링 부트를 종료하기 위해서는 SSH접속 화면에서 ctrl + c 를 눌러 바로 종료도 가능하고
그렇게 실행중인 스프링부트를 종료한다면
브라우저에서 다시 동일 url로 접속시 연결 불가 화면을 확인 할 수 있다
여기까지 해서 오라클 클라우드 인스턴스 생성으로 ubuntu 서버를 만들고
ubuntu 서버 환경에서 스프링부트 프로젝트를 실행까지 해볼 수 있었다
[linux] ubuntu 서버에 mysql 간단 설치 (0) | 2023.05.18 |
---|---|
[Cloud service]클라우드 프리티어 서비스 비교 (아마존, 오라클, 구글) (0) | 2023.05.18 |
[Ubuntu] 우분투 서버 포트 오픈해보기 (http-80, https-443) (0) | 2023.05.16 |
[Oracle Cloud] 오라클 클라우드 가상 클라우드 네트워크 (VCN) 생성 (0) | 2023.05.16 |
[linux] ubuntu에서 open jdk, java 설치&환경변수 설정하기 (0) | 2023.05.12 |
댓글 영역