heroku로 sinatra 백엔드(API) 호스팅

2199 단어 apirubyherokusinatra
저는 최근에 반응 프론트엔드와 루비 백엔드의 사용을 통합한 풀스택 프로젝트를 맡았습니다. 백엔드는 마이그레이션, 데이터베이스 처리 및 엔드포인트 생성을 위해 Sinatra 및 활성 레코드를 사용합니다. 그런 다음 이를 호스팅하여 반응 프런트 엔드에서 API를 사용하도록 합니다. 이 프로젝트에서 가장 어려웠던 부분은 API를 호스팅하는 것이었고 이것이 제가 오늘 이야기할 내용입니다.
Here's 이 프로젝트의 저장소

프로젝트를 설정했다고 가정하면,

Heroku 계정 만들기
이는 매우 간단한 프로세스이며 수행할 수 있습니다here.

새 앱 만들기
계정이 설정되면 새 Heroku 앱 만들기를 진행합니다. 여러 가지 방법으로 이를 수행할 수 있지만 가장 쉬운 방법은 GUI를 사용하는 것입니다. API를 호출할 이름을 앱에 지정합니다.

프로젝트를 Heroku에 연결
here 에서 찾을 수 있듯이 이 작업을 수행하는 다양한 방법이 있지만 이 예에서는 간단하게 CLI를 사용합니다.
  • npm install -g heroku로 Heroku CLI 설치
  • Heroku 계정에 로그인합니다heroku login .
  • 프로젝트의 소스 코드를 로컬 시스템에 복제

  • heroku git:clone -a your-project 
    cd your-project
    

  • 방금 복제한 코드를 일부 변경하고 Git을 사용하여 Heroku에 배포합니다.

  • git add .
    git commit -am "make it better"
    git push heroku master
    

    데이터베이스 구성
    database.yml 파일에서 선택한 SQL 언어로 어댑터를 설정합니다. Postgres, sqlite3, MySQL 또는 오라클. 프로덕션 환경에서 이 API를 사용하려는 경우 sqlite3를 사용하면 문제가 될 수 있습니다.
    Postgres를 사용하는 것이 좋습니다.

    gem 파일에 Postgres gem 추가gem 'pg'를 사용하여 이것을 추가하면 gem을 설치할 때 포함됩니다.

    프로필 추가
    파일 설정에서 Procfile이라는 파일을 추가합니다. 이 파일은 모든 Heroku 웹 앱에서 진입점 실행을 담당합니다. 우리의 경우 config.ru

    프로필에 명령 추가
    작업을 프로덕션으로 푸시할 때 먼저 실행할 수 있도록 프로필에 추가하십시오.

    web: bundle exec rackup config.ru -p $PORT
    release: bundle exec rake db:migrate
    


    첫 번째 줄은 config.ru를 실행합니다.
    두 번째 줄은 마이그레이션을 실행하고 스키마를 실행하기 위해 실행됩니다.

    Heroku에 Postgres 확장 추가

    Heroku 계정에서
  • 리소스로 이동
  • Postgres를 검색하고 첫 번째 제안(Heroku Postgres)을 선택합니다
  • 연장선 추가 후 주문서 제출
    이 확장은 프로덕션에서 데이터베이스를 관리합니다
  • .

    모든 설정이 완료되면 Heroku에 코드를 푸시하고 로그를 확인하고 API를 테스트합니다.

    다음에도 즐거운 코딩하세요✌

    좋은 웹페이지 즐겨찾기