-
https://start.spring.io/ ์์ ๋ค์๊ณผ ๊ฐ์ด ์ธํ ํด์ ์ด์ด์ค๋ค. (ํน์ ๊ฐ์ธ ํ๋ก์ ํธ)
(ํ ๋๋ง๋ค ๊น๋จน์ด์ ๋ ์ ์ผ๋ฉด Group๋ ํจํค์ง๋ช ์ด๊ณ , Artifact๋ ๋น๋๋ช ์ด๋ค.)
-
Heroku ๊ณต์ ํํ์ด์ง์ ๊ฐ์ด๋๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
https://devcenter.heroku.com/articles/deploying-gradle-apps-on-heroku
-
Procfile ํ์ผ ๋ง๋ค๊ธฐ (ํ์ฅ์ ์์)
๋ด์ฉ์
- [๋น๋๋ช ] ์ ์์์ ์ ํ ๊ฒ
- [version] ์ build.gradle์ version์ด๋ค.
web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/[๋น๋๋ช ]-[version].jar
-
system.properties ํ์ผ ๋ง๋ค๊ธฐ (ํ์๋ ์๋)
https://devcenter.heroku.com/articles/java-support ๋ฅผ ๋ณด๋ฉด, heroku๊ฐ ์๋ฐ๋ฅผ ์ง์ํ๋ ๋ฐฉ์์ด๋ค.
java.runtime.version=11
-
gradlew๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, /gradle/wrapper ํด๋๋ gitignore๋ก ๋นผ๋ฒ๋ฆฌ๋ฉด ์๋๋ค.
-
-
heroku ํ์๊ฐ์ ์ ํ๊ณ ์ฑ์ ๋ง๋ค์.
https://dashboard.heroku.com/apps ์์ new๋ก ๋ง๋ค ์ ์๋ค.
-
์ด์ ๋ ํฌ์งํ ๋ฆฌ์ Actionsํญ > 'set up a workflow yourself'๋ฅผ ์ ํํ์.
(์ด๋ฏธ ๋ง๋ ์ ์๋ค๋ฉด New workflow)
๊ทธ๋ฌ๋ฉด ๋ฃจํธ์ .github/workflows ๋ผ๋ ํด๋๊ฐ ์๊ฒผ์ ๊ฒ์ด๋ค. ๊ฑฐ๊ธฐ์ ์๋ ymlํ์ผ์ ๋ด์ฉ์ heroku ๊ฐ๋ค์ ๋ฃ์ด์ฃผ์.
name: [์ํ๋ ์ด๋ฆ] on: push: branches: [ main ] jobs: build: runs-on: ubuntu-latest # ๋๋ฆด OS steps: - uses: actions/checkout@v2 # - name: Build project # ๋ก์ปฌ์์ buildํด์ ํ์ธํ๊ณ ๋ฐฐํฌํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ด๊ฑด ๊ตณ์ด ํ์๋ ์์ # run: ./gradlew build - name: Deploy to Heroku uses: AkhileshNS/[email protected] with: heroku_api_key: ${{ secrets.heroku_api_key }} heroku_email: ${{ secrets.heroku_email }} heroku_app_name: ${{ secrets.heroku_app_name }}
- heroku_api_key
- heroku_email
- heroku_app_name
๊ฐ๋ง ๋ฃ์ผ๋ฉด ๋๋๋ฐ, ์ด๊ฑฐ๋ Settingsํญ > Secrets์์ ๊ฐ์ ์จ๊ฒจ์ ๋ณ์๋ก ์ฌ์ฉํ์.
(api_key๋ Account Settings์ ๋งจ ๋ฐ์ ์๋ค.)