이제 내가 만든 프로젝트를 배포해야 하는데
정적인 콘텐츠였던 이전 토이프로젝트는 netlify를 통해
배포할 수 있었다.
근데 memoong 프로젝트는 db도 연관된 프로그램이니까
다른 방법을 찾아봐야 할 것 같다.
검색해보다가 Heroku를 이용한 방법으로 시도해보려고
계정을 만들고 인증처리 했다가 create app에서 헙 ..
현재는 유료화 되었다고 한다.
개인프로젝트이고 아직 완성도가 높은 작업물들이 아니기에
포폴이나 다른 프로젝트들도 배포를 진행할 것도 생각하여
무료 버전을 찾자 싶어서 다시 검색해보다가
Koyeb이라는 플랫폼에 대한 글들을 읽어보다가 처음 배포를 접하기에
좋은 것 같아서 선택하게 됐다.
서버리스 플랫폼 중 하나로, 컨테이너 기반의
서버리스 애플리케이션을 개발 및 배포할 수 있도록 하는 플랫폼
Koyeb를 사용하면 도커 이미지나 깃허브 레포지토리를 통해 애플리케이션을 배포를 할 수 있다고 한다.
깃허브 계정이랑 연결했다!

깃허브와 도커 중 나는 깃허브를 선택했다.

install github app 클릭해서 깃허브와 Koyeb를 연동

memoong 리포 선택 후 나는 마스터 브랜치로 작업했으므로
그대로 두었다.

아래 부분들은 무료 버전을 사용할 거라면 기본 체크된 채로 두면 된다.


동적 파일 배포가 처음이라
이 부분에 대해서 어떻게 입력해야할 지가 가장 막막했었다.
구글에 찾아 봤던 방법은 설정이 달라서 나의 경우에 맞게
입력을 해야 하기 때문에 생각을 하다가
배포하려는 프로젝트가 spring boot 프로젝트고 maven으로 설정했었기 때문에 이에 대해 배포 설정을 찾아 보았다.
packaging jar로 지정

프로젝트 우클릭 - > run as - > maven build

- goals 에 package 입력
- profiles pom.xml 지우기
- run 클릭

빌드 성공

target 폴더 안에 jar 파일 생성 확인 !

jar 파일 있는 위치에서 cmd 실행 - > java -jar 파일명.jar 입력



찾아 보다가
💥 jar 로 된 빌드 파일은 Jsp 를 지원하지 않는다는 글을 발견했다.
그래서 war 파일을 만들고 실행할 때는 java -jar 파일명.war 로 시도해봤다.

💫 성공 ! war로는 jsp를 잘 보여준다. 얏호
koyeb으로 배포 시도하다가 jar/war 배포파일 생성하는 걸로 잠깐 빠졌는데 이것도 처음 접하는 거라서 필요한 거라고 생각하고 일단 좋다 !!!
이제 아래의 배포 설정에서는 어떻게 채워 넣어야 정상적으로 도메인을 얻은 배포에 프로젝트가 잘 반영될 지가 관건이다.






구글에서는 나와 같은 케이스로 koyeb을 이용한 글을 발견하지 못해서
gpt에게 오류 로그를 보여주었더니
Maven이 Java 컴파일러 버전을 지정하는 데 사용하는 --release 옵션이 잘못되었거나 지원되지 않는 버전으로 설정되었을 때 발생할 수 있다는 답변이 돌아왔다.
그래서 내 pom.xml을 살펴보니 나는 버전이 따로 쓰여져 있진 않는 상태였다.

Maven Compiler Plugin 버전과
Java 컴파일러 버전을 명시하여 지정해주고 다시 시도해보았다.



또 같은 로그인 것 같은데
컴파일러 버전을 명시했지만 버전이 안 맞아서 충돌한다는 건가 ?

++ 그리고 발견한 추가 설정할 수 있는 부분

프로젝트에 설정한 포트번호 8082와 메인페이지 경로를 넣어주었다.


이 외에도 계속 시도해봤지만 안 된다 !
나랑 똑같은 빌드로 koyeb을 이용한 후기는 없어서
어떤 식으로 했는지도 참고할 길이 없고
gpt도 정확하게 제시해줄 수 없는 부분이라 오늘은
힘을 쓰지 못한다 ..
혼자 맨 땅에 헤딩하는 느낌인데
이럴수록 꼭 해결하고 싶어진다.
하루종일 붙잡고 있었지만 해결을 못했다. 조금 속상
🌙`、、`ヽ`ヽ`、、ヽヽ、`、ヽ`ヽ`ヽヽ`
ヽ`、`ヽ`、ヽ``、ヽ`ヽ`、ヽヽ`ヽ、ヽ
`ヽ、ヽヽ`ヽ`、``ヽ`ヽ、ヽ、ヽ`ヽ`ヽ
、ヽ`ヽ`、ヽヽ``、ヽ`、ヽヽ 🚶♀ ヽ``ヽ``、ヽ`、
자고 일어나서 다시 해보자 !!! ☄️
cloudtype으로 배포 시도 해보자 !
cloudtype 사이트 - > github로 시작하기

github 로그인

배포 설정 (유투브에서 클라우드타입 공식 영상 보면서 staging 추가해봄)

배포 시도 - > 오류 .. 메모리가 뭥 ?..

-- > cloudtype에서 oracle db를 지원하지 않는 건가 ??....
홈페이지에서 db 관련을 살펴보면 oracle은 없다 ..
내가 했던 걸 mariadb나 다른 db로 바꾸려면 지금 헷갈려 빙빙 상태이므로
더 심신미약 할 것 같으므로
당장은 다른 걸 적용할 게 아니라
내가 만든 프로젝트 설정에서 배포를 해결해보고싶다..
이때 스치는 생각
여기에 시간을 쏟지 말고 다른 거 할까 생각이 든다.
war 파일 생성해서 내장 톰캣에서 실행하는 건 잘 되고 있으니까
여기서 이걸 마무리 짓는 게 맞나 싶기도 한데
뭔가 찜찜한 기분 !!!
++
이 외에도 aws도 시도했지만 아직 내가 배포에 대한 개념 자체가 부족한 것 같다.
모르는 상태에서 계속 시도하니까 헷갈림이 더 커진다.
길잡이가 있으면 좋을텐데 유투브랑 구글로 정보는 얻을 수 있지만
이걸 토대로 내 프로젝트의 경우를 대입하는 게 쉬운 게 아니었다.
우선 !! 할 수 있는 것부터 하자 다시 📣