Rails 자습서 1.5.2 Heroku에 배포하는 동안 발생한 오류 해결

소개



Rails 튜토리얼 1.5.1 ~ 1.5.3을 그대로 실행하는 중 발생한 오류입니다.
오류시 상황
  • heroku에 배포 수행
  • $ git push heroku master가 성공한 것처럼 보이지만 그물에 표시되지 않습니다.
  • rails server에 문제없이 표시됩니다
  • 다시 push heroku를 하면 "Everything up-to-date"라고 표시된다

  • 상기 이외의 상황의 경우는 마지막에 추기하고 있으므로 그쪽도 봐 주세요.

    내용


  • 정보
  • 실행 내용 및 발생한 오류
  • 해결 방법
  • 기타 문제의 경우

  • 정보



    PC


  • MacBook Pro(15-inch,2019)
  • 프로세서 2.6GHz 6 코어 Intel Corei7
  • 메모리 16GB 2400MHz DDR4
  • 그래픽 Intel UHD Graphics 630 1536 MB

  • 개발 환경


  • AWS Cloud9
  • Ruby 2.6.3
  • Ruby on Rails 5.1.7
  • Git 2.14.5
  • heroku/7.35.0 linux-x64 node-v12.13.0
  • Bitbucket

  • 실행 내용 및 발생한 오류



    Rails 튜토리얼 1.5.1의 절차에 따라 Heroku 설정
    1.5.2에서 다음을 실행

    qiita.rb
    $ git push heroku master
    

    문제없이 종료한 것처럼 보였기 때문에 돌아온 URL(.git과 .com이 있다)을 연다.
    https://damp-fortress-5769.herokuapp.com
    https://git.heroku.com/damp-fortress-5769.git
    

    .git은 「Method Not Allowed」라고 표시될 뿐이므로 주의.
    .com을 열면 "Application error"로그의 상세를 확인하라는 메시지가 표시됩니다.
    하지만, 초보자이므로 로그를 봐도 무엇이 무엇인지 모르고, 우선 push 후의 정보를 확인.


    한번 눈의 물건이 사라져 버렸기 때문에 이것과 조금 내용은 다르지만 거의 같은 내용이 돌아왔다.
    일부 WARNIG가 나와 있지만 그다지 중요하지 않다고 판단. (덧붙여서 한번 눈은 두 번째 WARNIG가 Gem에 rails의 버전을 기재하라는 것이었기 때문에 그대로 했지만 결과는 변하지 않았다)

    해결 방법



    몇 가지 시도했지만 많은 오류 패턴이있는 것처럼 보였기 때문에 단적으로 해결에 이른 것만을 적어 둡니다.
    이 질문 대로 하면 해결했다.
    절차로서,

    ·/hello_app/config/database.yml 열기
    · 내용을 * 1로 다시 씁니다.
    · 변경 사항 저장 (⌘ + S)
    · $ git add.
    · $git commit -m "change_database.yml"
    · $ git push
    · $ git push heroku master

    이것으로 무사히 배포에 성공.
    *1

    default: &default
    # adapter: sqlite3 삭제
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
    timeout: 5000

    개발 :
    <<: *default
    adapter: sqlite3 # 추가
    database: db/development.sqlite3

    production:
    <<: *default
    adapter: postgresql
    database: db/production.pg

    기타 문제의 경우



    초보자이기 때문에 그 에러 패턴이 몇 가지 있었으므로 추기해 둔다.
  • SSH 인증에 실패함
    메시지가 표시되어야 하므로 다시 한번 순서대로 공개키를 추가한다.
  • .git 및 .com 중 .git URL이 열려 있습니다.
    .com URL이 배포 된 것이므로 그 곳을 엽니 다.
    별로 없다고 생각하지만 질문 사이트의 투고자 안에 있었다.
  • 변경 내용을 저장하지 않고 add나 commit을 하고 있다
    거의없는 상황 일지라도 자신이 여러 번 해고 있기 때문에 일단
  • 좋은 웹페이지 즐겨찾기