Firebase Hosting 웹 사이트를 cron에서 정기 배포(라즈파이)

할 일



제목은 그대로 유지하지만 Firebase Hosting 웹 사이트를 cron에서 정기적으로 배포합니다.
조사해도 CI와 연계하여 GitHub에 푸시했을 때 자동 배포하는 방법밖에 없었기 때문에 메모입니다.

본래 사이트의 정보 갱신은 Firebase의 데이타베이스와 JavaScript로 실시하는 것이 긍정이라고 생각합니다만
업데이트 빈도가 적다 & JavaScript의 지식이 적기 때문에 이런 방법을 시도한 대로입니다.

실행 환경


  • Raspberry Pi 3 Model B
  • Raspbian9.4
  • Firebase 6.3.1
  • 웹 사이트가 작성되었습니다 Firebase deploy

    FIREBASE_TOKEN 얻기



    cron에서 배포 할 때 인증 토큰이 필요하기 때문에 터미널에서 다음을 실행.
    firebase login:ci
    

    브라우저가 열리면 로그인.



    Woohoo! 로그인 성공. 터미널에 토큰이 표시됩니다.
    +  Success! Use this token to login on a CI server:
    
    1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   <=トークン
    
    Example: firebase deploy --token "$FIREBASE_TOKEN"
    

    cron에 작업 추가



    이 기사에서는 쉘 스크립트는 만들지 않고 직접 cron에서 실행한다.
    firebase deploy 앞에 firebase.json이 있는 디렉토리로 변경합니다.
    * * * * * cd hoge/hogehoge && firebase deploy --token 1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    이것만으로는 cron에서 실행할 때의 PATH와 터미널에서 실행할 때의 PATH가
    다른 경우 실행할 수 없으므로 cron 런타임에 PATH를 지정해야합니다.

    터미널에서 echo $PATH를 실행하고 PATH를 확인하고 cron으로 지정합니다.
    PATH= 'ここでPATHを設定'
    
    * * * * * cd hoge/hogehoge && firebase deploy --token 1/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    이제 정기적으로 배포할 수 있습니다.
    이상, 첫 투고였습니다.
  • 좋은 웹페이지 즐겨찾기