Heroku

PaaS 服務,可一鍵部署

簡介

  • 可將 git 專案直接轉成線上服務
  • 直接支援 https
  • 免費 550h/month、5個專案
  • 敏感設定可從外部設定 config,並從專案內以 get ENV 方式取得 (config-vars)
  • 掛信用卡即可使用 clearDB(就是 MySQL),Project 只需更改 dbname、user/pw

安裝

  1. 申請帳號 (link)
  2. 下載 Heroku CLI (download)
  3. 從 terminal 登入
  4. $ heroku login

專案部署

初始化 GIT (專案已存在 git 請跳過)
$ cd your_project
$ git init
$ git add .
$ git commit -m "base"

建立 Heroku
$ heroku create [project_name]
$ git push heroku master #推到 heroku remote,而不是 自己的 origin 
$ heroku open
$ #部分框架需指定 index 入口位置(Procfile 檔),請見下方狀況
Heroku 服務,預設將你的 開發 remote、部署 remote 分開。 若不想這麼麻煩,可直接使用 Heroku Git,將 heroku 指定為 master remote
$ git config branch.master.remote heroku
$ git config branch.master.merge refs/heads/master

Clone Heroku 專案
$ heroku git:clone -a [project_name]
$ cd [project_name]
$ #推 code
$ git add .
$ git commit -am "update"
$ git push heroku master

常用指令

$ heroku help #指令清單
$ heroku info #資訊
$ heroku logs #紀錄,可使用 -t
$ heroku open #直接開網址

狀況

  • Laravel (官方說明)
    • You don't have permission to access / on this server. (link)
    • $ echo "web: vendor/bin/heroku-php-nginx public/" > Procfile
    • Whoops, looks like something went wrong.
    • $ heroku config:set APP_KEY=$(php artisan --no-ansi key:generate --show)
      #就是設定 heroku env 參數 APP_KEY 
    • Nginx config (link)
    • Log
    • //app.php
          'log' => env('APP_LOG', 'single'),  //將 single 改成 errorlog
      
      $ heroku logs -t
      
  • Push 時 Build timed out while waiting to start.
    • 先 pull,再等待一段時間,常有的塞車狀況

參考

Heroku Heroku Reviewed by Wild on 10/12/2017 02:26:00 下午 Rating: 5

沒有留言:

沒有Google帳號也可發表意見唷!

技術提供:Blogger.