Kakao Chatbot x Python flask (2)
Python flask를 이용한 간단한 Kakaotalk chatbot API 서버 만들기 - 카카오 API와 heroku 배포
서론
카카오 플러스친구 API 스펙에 대해 알아보고 그에 맞는 응답처리를 작성합니다.
heroku
heroku는 웹어플리케이션을 빌드, 배포, 실행 할 수 있도록 도와주는 클라우드서비스입니다. heroku에 가입하는 방법이나 서비스에 대한 소개는 생략합니다.
로그인 후 보이는 대시보드에서 우측 상단의 new>Create new app버튼을 눌러 새로운 어플리케이션을 생성합니다. 저는 어플리케이션의 이름을 ‘kakao-reflect-chatbot’으로 하겠습니다. 생성된 어플리케이션 대시보드의 Deploy탭에 설명이 나와있지만 다시 간략하게 따라하겠습니다.
heroku CLI가 설치되어 있지 않다면 링크를 따라들어가 운영체제별 가이드라인에 따라 설치합니다.
heroku에 로그인 합니다.
$ heroku login
프로젝트 폴더로 이동한뒤 Git repository를 생성하고 heroku에 연결합니다. 각자 어플리케이션의 이름에 맞춰 ‘kakao-reflect-chatbot’ 부분을 대체합니다.
$ cd chatbot/
$ git init
$ heroku git:remote -a kakao-reflect-chatbot
heroku에 배포를 하기 이전에 heroku의 설정파일인 Procfile
을 작성합니다. <process type> : <command>
형식으로 heroku가 실행될 환경을 설정합니다. gunicorn
의 자세한 설명은 링크로 대체합니다.
Procfile
web: gunicorn app:app --log-file -
Prockfile
은 항상 최상위 폴더에 있어야하며,Procfile.txt
등의 형태가 아닌 반드시Prockfile
이어야 합니다.
heroku에서 실행시 Python에서 작동하도록 환경을 적어줍니다. heroku는 3.6.3과 2.7.14 두가지만 지원합니다.
runtime.txt
python-3.6.3
작성한 코드를 Git을 통하여 heroku로 배포합니다.
$ git add app.py requirements.txt
$ git commit -am "Initial commit."
$ git push heroku master
push를 마친 뒤엔 배포된 https://<APP_NAME>.herokuapp.com/ 와 같은 어플리케이션의 주소를 알려줍니다. 물론 웹의 대시보드에서도 확인할 수 있습니다. 주소를 따라 접속하면 로컬에서 작업햇을때와 마찬가지로 ‘Hello world!’를 확인할 수 있습니다.
이 글을 따라한 뒤 디렉토리의 구조
chatbot/
|- .git/
|- venv/
|- app.py
|- requirements.txt
|- Procfile
|- runtime.txt
'Dev > Python' 카테고리의 다른 글
[하루 1시간] 실시간 OCR 번역기 만들기 (2) | 2023.11.24 |
---|---|
[SublimeText] 플러그인 만들기 - URL Decoder (0) | 2022.01.08 |
Python 접근제어자 (1) | 2018.05.28 |
카카오톡 챗봇 (1) (3) | 2017.12.15 |