블로그 이미지
안녕하세요~ iolate(isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (162)N
Server, Cloud (7)
끄적끄적 (9)
Linux, Ubuntu (22)
개발질 (44)
Mac (18)
iOS (23)
IoT (11)N
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (9)
비공개글 (0)
Total573,020
Today100
Yesterday199

Heroku는 Git 을 기반으로 패키지를 업로드한다.

프로젝트와 git 은 이미 만들어져있다고 가정하고, 해당 디렉토리 아래에서 진행한다.


참고로 Python 3.6


0. Prerequisite

heroku cli 바이너리가 필요한데, 맥에서는 그냥 brew 로 설치가능하다.

$ brew install heroku


Python 버전은 3.6 그리고 virtualenv 패키지가 여러개가 있는데, heroku 는 pipenv 를 쓰는 듯?

$ pip install pipenv


$ pipenv install

로 현재 경로에 virtualenv 환경을 만들고,

$ pipenv shell

을 입력하면 알아서 source 해준다.


1. virtualenv 패키지 설치

$ pipenv install 패키지명

으로 설치하면 Pipfile 에 알아서 넣어줌. 다른 방법은 모르겠음.


gunicorn 도 venv 안에 깔아줘야하는지 모르겠지만, 난 그냥 깔아줬다.


그리고 $ pipenv lock 을 하면 PipfilePipfile.lock 파일을 만들어주는데, 이것 역시 git 에 추가해주자.


2. Procfile 생성

heroku 에서 run 할때 어떤 command 를 실행해야하는지를 알려주는 파일이다.

나의 경우 
web: gunicorn flask_app:app
이렇게 한줄만 있으면 되었음.

web 은 heroku 서비스 관련 예약어이고, 그 뒤론 명령어인데
gunicorn 이란 wsgi 패키지를 이용하는 듯.

난 flask_app/__init__.py 의 형태지만,
프로젝트 루트의 flask_app.py 안에 app = Flask(name) 같은 형태도 가능하다.

마찬가지로 git 에 추가.

3. heroku cli

우선 로그인을 하자
$ heroku login

$ heroku local
로 현재 웹을 테스트 해볼 수 있다.

프로젝트 생성은
$ heroku create

이후 소스 푸시 및 빌드는
$ git push heroku master

$ heroku open

하면 주소가 열린다.


저작자 표시 비영리 변경 금지
신고
Posted by iolate

최근에 달린 댓글

최근에 받은 트랙백

글 보관함