Heroku App 배포
Page content
개요
- Heroku App을 배포하는 과정을 작성한다.
- 가장 중요한 것은 Git과 연동이 되어 있어야 한다.
- 깃허브 : https://github.com/
- GIT : https://git-scm.com/
- 이 부분에 대한 설치 과정은 생략한다.
- 배포하려는 프로젝트는 다음 링크에서 확인한다.
Procfile 생성
- 프로젝트 Root 디렉터리에
Procfile
을 생성한다.
web: gunicorn index:server
- 이 때,
index
파일명을 의미한다.
작업 파일 수정
- index.py을 열고, 다음 코드를 추가한다.
server = app.server
을 추가한다.
app = dash.Dash(__name__, meta_tags=[{"name": "viewport",
"content": "width=device-width"}])
server = app.server
Runtime 파일 추가
- 어떤 파이썬 버전에서 실행할 것인지 해당 코드를 작성한다. (
runtime.txt
)- 마찬가지로 프로젝트의 Root 디렉토리에서 생성한다.
python-3.8.7
Heroku 로그인 및 App 생성
-
Heroku 회원가입을 안했다면, 진행한다.
- Heroku : https://www.heroku.com/
-
회원 가입 후, 프로젝트를 생성한다.
/img/python/dash/Heroku_app_deploy/
- 프로젝트를 생성한다. 프로젝트 생성 시, 폴더이름과 동일하게 작성한다.
- 프로젝트 생성 시 파일명에 유의한다.
_
는 되지 않는다.
- 프로젝트 생성 시 파일명에 유의한다.
- Create App을 클릭하면 다음 화면이 나타난다.
- 여기에서
Github
프로젝트와 연동 한다.
- 연동을 한 이후에는
Enable Automatic Deploys
를 클릭한다.
- 이 때, 회원가입시, 작성했던, ID와 Password가 필요하다.
$ heroku create python-dash-sales
» Warning: heroku update available from 7.53.0 to 7.59.2.
Creating ⬢ python_dash_sales... !
! Invalid credentials provided.
» Warning: heroku update available from 7.53.0 to 7.59.2.
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/...
Logging in... done
Logged in as your_id@gmail.com
Creating ⬢ python_dash_sales... !
! Name must start with a letter, end with a letter or digit and can only contain lowercase letters, digits, and
! dashes.
- 이제 Heroku Login을 진행한다.
$ (venv) heroku login
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/cli/browser/9320abcd-b8c6-406d-9198-ca14d1e59a26?requestor=SFMyNTY.g2gDbQAAAA4yMjEuMTU3LjM3LjIxNm4GAGgtTBB7AWIAAVGA.GlyVc8jbyiW6NG0MVzCS0bOjtzBWvYRfjB9-gnkQaoQ
Logging in... done
Logged in as your_email_address
$ heroku git:remote -a sales-dashboard-evan
Git Push
- 위 파일들을 모두 git add, commit, push를 통해 업로드 한다.
- 이 때, 중요한 것은 venv 파일등은 업로드가 되면 안되기 때문에, 제거 하던가, 또는 gitignore 활용한다.
- 해당 파일을 Git Push 하도록 한다.
$ git add .
$ git commit -am "make it better"
$ git push
$ git push heroku main