Heroku 사용하기
1. Heroku에서 앱 생성
2. API key 설정
account setting 에서 API key를 복사해서 github repository의 Settings > Secrets > Actions secrts > New secret >
- Name : HEROKU_DEPOLY_KEY
- Value : 복사한 API Key로 설정
3. 배포 시나리오 작성
repo의 .github > workflows > deploy.yml에 배포 시나리오 작성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# This is a basic workflow to help you get started with Actions
name: Deploy
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [ main ] # main 브랜치에 push될 때 트리거가 됨
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3 # git checkout 후 heroku에 deploy 하게 됨
- name: Deploy to Heroku
uses: AkhileshNS/heroku-deploy@v3.12.12
with:
# This will be used for authentication. You can find it in your heroku homepage account settings
heroku_api_key: $ # github settings에 설정한 api key
# Email that you use with heroku
heroku_email: 000000@gmail.com
# The appname to use for deploying/updating
heroku_app_name: sns-feed-projects
4. repo에 system.properties
파일 생성
- 사용하는 자바 버전 명시하여 Heroku에서 문제가 발생하지 않도록 함.
1
java.runtime.version=11
5. repo에 Procfile
생성
-
Heroku 앱이 떴을 때 어떤 일을 할 건지 명령어를 명시함.
-
jar 파일을 만드는 빌드 명령어
-
settings.gradle
파일의 rootProject.name = ‘sns’로 설정되어 있고,build.gradle
파일의 version이 ‘0.0.1-SNAPSHOT’로 설정되어 있어 jar 파일의 제목을sns-0.0.1-SNAPSHOT.jar
로 설정됨
1
web: java -Dserver.port=$PORT $JAVA_OPTS -jar build/libs/sns-0.0.1-SNAPSHOT.jar