ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Heroku로 spring boot 프로젝트 배포하기
    개발 2022. 10. 14. 18:22

     

    0. Prerequisites

    - Heroku 가입

    http://softwareengineeringdaily.com/wp-content/uploads/2019/12/Heroku.png

    - Create App

    https://dashboard.heroku.com/new-app

     

    - Install Heroku

    https://devcenter.heroku.com/articles/heroku-cli

    brew tap heroku/brew && brew install heroku

    맥에서는 위의 코드를 이용할 수 있다.

     

    - 설치 확인

    terminal에서 which heroku로 확인할 수 있다.

     

    - 터미널에서 heroku로그인

    heroku login

    하고 나서 하라는 대로 로그인하자.

     

    - 로그인 확인

    heroku whoami

     

    1. 빌드를 합시다!

    ./gradlew bootJar

     

    2. 설정을 합시다!

    - 자바 버전 설정하기: 프로젝트 최상위에 system.properties파일을 만들어서 아래 내용을 작성해줍니다.

    java.runtime.version=17

    https://devcenter.heroku.com/articles/java-support

    - 실행할 명령 설정하기: 프로젝트 최상위에 Procfile파일을 만들어서 아래 내용을 작성해줍니다. 

    web: java -Dserver.port=$PORT -jar build/libs/<실행을 원하는 파일>.jar

    - config 설정하기: 만약 git root directory가 project root directory와 다른 경우에 설정을 해줘야 한다.

    heroku config:set PROJECT_PATH=<git root을 기준으로 한 프로젝트 path>

    혹은 터미널을 쓰기 싫은 경우 해당 App의 Settings에 가서 Config Vars에 내용을 채워주면 된다.

    - buildpack 추가하기: 만약 git root directory가 project root directory와 다른 경우에 추가 해줘야 한다.

    https://github.com/timanovsky/subdir-heroku-buildpack.git 를 settings의 Buildpacks에 Add buildpack 을 눌러서 URL을 넣어주고 Save changes를 눌러 추가해준다. 

    최상단에 있어야 하기 때문에 만약 순서가 맞지 않다면 햄버거 부분을 눌러 최상단으로 이동시킨다.

    - buildpack 추가하기: gradle을 사용하는 프로젝트라면 gradle buildpacks를 추가해줘야 한다.

    settings의 Buildpacks에 Add buildpack을 누르고 gradle을 누르고 Save changes를 눌러 추가해준다.

     

    아래와 같이 추가된다.

     

     

    3. 원격 저장소 추가하기!

    heroku git:remote -a <App 이름>

    Deploy탭에 있는 명령어를 따라 친다.

    만약 이미 깃 레포지토리에서 작성한 경우 Existing Git repository 부분의 코드를 치면 되고,

    만약 깃 레포지토리가 없는 경우 Create a new Git repository를 따라하면 된다.

     

    4. 변경 내용 커밋하고, 푸시를 합시다!

    git push heroku main // main 브랜치를 푸시하는 경우
    git push heroku <푸시하고 싶은 브랜치>:main // main 브랜치가 아닌 브랜치를 푸시하는 경우

     

    * application.properties 파일이 gitignore되어 있지 않도록 주의하자!

     

    완성⭐️

     

    참고: https://stackoverflow.com/questions/39197334/automated-heroku-deploy-from-subfolder

     

    댓글

Designed by Tistory.