[Springfield 대본 다운로드] 4. heroku 배포하기 (error: failed to push some refs to 'https://git.heroku.com/download-scripts.git)
참고 문서: https://wikidocs.net/83113
1. 환경 준비
heroku
가입 (www.heroku.com)git
설치 (https://git-scm.com/downloads)heroku cli
설치 (https://devcenter.heroku.com/articles/getting-started-with-python#set-up)
2. 관련 파일 준비
vscode
로 가서 관련 파일들을 준비한다.
1) gunicorn 설치
pip install gunicorn
2) requirements.txt 생성
pip freeze > requirements.txt
3) Procfile 파일 생성
폴더 최상위 바로 아래 Procfile
파일을 생성하고 아래 내용을 작성한다.
web: gunicorn app:app
4) .gitignore 파일 생성
폴더 최상위 바로 아래 .gitignore
파일을 생성하고 여기 접속해서 Flask
, venv
입력해 나온 내용을 복붙한다.
5) runtime.txt 파일 생성
폴더 최상위 바로 아래 runtime.txt
파일을 생성하고 아래 내용을 작성한다.
(단, 이 글은 2022.02.16 기준임을 밝힌다. heroku에서 지원하는 python의 버전이 계속 바뀌는 것 같은데 지원하는 버전에 맞게 설정해 주어야 배포가 가능하기 때문이다. 처음에 3.7.6으로 했다가 에러 발생했음..)
python-3.7.12
3. 배포하기
1) git 설정
해당 프로젝트를 git과 연결하는 작업이다.
git
을 처음 설치한 경우, git config
를 통해 초기 설정이 필요하지만 이미 사용 중인 경우 git init
만 하면 된다.
git init
//이미 사용 중이라면 넘어가기
git config --global user.name 사용자이름
git config --global user.email 사용자이메일
2) heroku 로그인
heroku login
3) heroku 앱 생성
heroku create 프로젝트명
4) git commit
git add ./
git commit -m "Commit for heroku"
5) 배포
git push heroku master
하면 잘 될 줄 알았는데..
🔒 에러가 발생했다면?!
로그를 살펴보면 python-3.7.6
이 not available
하다고 한다.
이게 2-5
의 runtime.txt
에서 작성한 python
버전이 문제였던 것이다.
🔑 python-3.7.12
로 변경 후 push
하니 성공적으로 배포되었다.
따라서 배포 전에 여기 들어가서 heroku
가 지원하는 python
버전을 잘 확인하자!!
4. 결과 확인
많관부!
(파일 다운 받을 때 로딩화면 보여주고 싶었는데 아무리 찾아봐도 모르겠어서 포기.. )
https://download-scripts.herokuapp.com/
'Project > springfield 대본 다운로드' 카테고리의 다른 글
[Springfield 대본 다운로드] 3. 예외 처리하기 (flash) & 파일 압축과 다운 (zipfile, send_file) (0) | 2022.02.15 |
---|---|
[Springfield 대본 다운로드] 2. Flask 연동하기 (0) | 2022.02.14 |
[Springfield 대본 다운로드] 1. 개요 & 대본 하나 다운받기 (0) | 2022.02.13 |