Rails API를 Heroku에 배포하는 방법(ruby-2.6.1)(PostgreSQL)

소개



나는 항상 생산에 문제가 있고 그것을 싫어합니다. 그러나 프로젝트를 호스팅하는 것이 정말 중요합니다. 15주 동안 Flatiron 수업을 마친 후 프로젝트를 호스트하기로 결정하고 이 튜토리얼을 만들었습니다. 도움이 되길 바랍니다.


raynaldo / heroku 배포 테스트


heroku에 rails API를 배포하는 방법 알아보기




Rails 프로젝트에 Procfile 및 Procfile.dev 추가



루트 폴더 안에 ProcfileProcfile.dev 생성

# root/Procfile
web: bin/rails server -p ${PORT:-5000} -e $RAILS_ENV
release: bundle exec rails db:migrate
release: bundle exec rails db:seed
# db:seed is optional, if you use db:seed it will reseed data every time you push)
# add any other commands



변경 사항을 푸시합니다.

Heroku CLI 설치



documentation를 따르십시오.

새 앱 만들기



rails 폴더 내부에서 이 명령을 실행합니다.

heroku create --stack heroku-18

I'm using heroku-18 stack because my ruby version is ruby-2.6.1. if your ruby version is supported for heroku-20, you do not need this command.



Heroku 앱 이름 변경(선택 사항)

heroku apps:rename herokuy-deploy-test

credentials.yml / master.key 사용(선택 사항)


master.key 를 사용하는 경우 Heroku로 설정해야 합니다. master.key.gitignore를 포함하므로 저장소에 푸시하지 않습니다.

heroku config:set RAILS_MASTER_KEY=`cat config/master.key`

Source

Heroku 대시보드로 이동



Heroku 앱을 사용할 수 있습니다.

  • 새 앱을 클릭하고 deploy 섹션을 선택합니다.
  • GitHub 저장소에 연결합니다.

  • 켜기 Enable Automatic Deploys
  • 배포할 분기를 선택하고 분기를 배포합니다.


  • 내 Rails API 사용해보기


  • https://herokuy-deploy-test.herokuapp.com/api/v1/users
  • https://herokuy-deploy-test.herokuapp.com/api/v1/posts

  • 보너스: 오리진 CORS를 동적으로 설정(개발 또는 프로덕션에서)



    그것은 매우 도움이 될 것이므로 우리가 생산 또는 개발할 때마다 cors를 변경할 필요가 없습니다.

    # config/environments/development.rb
    Rails.application.configure do
        ...
    
        # cors origns
        config.allowed_cors_origins = "*"
    end
    



    # config/environments/production.rb
    Rails.application.configure do
        ...
    
        # cors origns
        config.allowed_cors_origins = "front-end link without http://"
        # ex: config.allowed_cors_origins = "netlikuy-deploy-test.netlify.app"
    end
    



    # config/initializers/cors.rb
    Rails.application.config.middleware.insert_before 0, Rack::Cors do
        allow do
            origins Rails.application.config.allowed_cors_origins
    
            ...
        end
    end
    

    React 앱을 배포하시겠습니까?






    아래에 댓글을 남겨주시고 도움이 필요하시면 알려주세요 :)

    좋은 웹페이지 즐겨찾기