##概要
Herokuに登録したけど、ラズパイから直接操作したくて、Heroku CLIをインストールしました。一通りの流れを確認するため、簡単なアプリを作成してデプロイまで実施してみました。
##参考にしたサイト
##前提条件
- モデル : Raspberry Pi 3 Model B
- OS : Raspbian Stretch
$ uname -a
Linux raspberrypi 4.14.33-v7+ #1109 SMP Tue Apr 10 17:28:38 BST 2018 armv7l GNU/Linux
##Herokuアカウント登録
ここから登録。
##事前準備
いつもの手順と、gitのインストール。
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install git
$ git --version
git version 2.11.0
##Heroku CLIのインストール
公式サイトのインストール手順を参照したところ、ラズパイ用がないので、「Ubuntu / Debian」の手順を実行するも失敗。
ググった結果、このサイトどおりでインストールできました。
$ wget https://cli-assets.heroku.com/branches/stable/heroku-linux-arm.tar.gz
$ mkdir -p /usr/local/lib /usr/local/bin
$ sudo tar -xvzf heroku-linux-arm.tar.gz -C /usr/local/lib
$ sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
$ heroku -v
heroku-cli/6.16.13-dbb9c23 (linux-arm) node-v9.11.1
##アプリの作成からデプロイまで
ほぼ参考サイトどおりですが、自分の環境でエラーが出たところを追加で記載してます。
$ mkdir my-heroku
$ cd my-heroku
$ vi index.php
<?php
echo "Hello, World!";
$ heroku login
Enter your Heroku credentials:
Email: email@aaa.bbb # 登録したメールアドレス
Password: ************* # 登録したパスワード
Logged in as email@aaa.bbb
$ git init
$ git add .
$ git commit -m "コメント"
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your accounts default identity.
Omit --global to set the identity only in this repository.
fatal: empty ident name (for <(null)>) not allowed
$ git config --global user.email "email@aaa.bbb" # エラーが出たので指示通りメールアドレス登録
$ git config --global user.name "namae" # エラーが出たので指示通り名前登録
$ git commit -m "コメント" # 再実行(エラーが出なかった場合は当然不要です)
[master (root-commit) 60ee739]
1 file changed, 3 insertions(+)
create mode 100644 index.php
$ heroku create アプリ名
Creating ? helloworldheroku... !
? Name is already taken # ありがちなアプリ名だとクリエイトできない
$ heroku create アプリ名 # アプリ名を変えてもう一回(エラーが出なかった場合は当然不要です)
Creating ? sng70helloworld... done
https://アプリ名.herokuapp.com/ | https://git.heroku.com/アプリ名.git # 公開URLとGitリモートレポジトリが表示されれば成功
$ git push heroku master
Counting objects: 3, done.
Writing objects: 100% (3/3), 237 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
・・・
remote: https://アプリ名.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/アプリ名.git
* [new branch] master -> master
##確認
端末のブラウザで https://アプリ名.herokuapp.com/ にアクセスして、Hello, World! が表示されれば成功です。
##アプリの削除とログアウト
テストアプリなので一旦削除して、最後にログアウトします。
$ heroku apps:destroy --app アプリ名
? WARNING: This will delete ? アプリ名 including all
? add-ons.
? To proceed, type アプリ名 or re-run this command
? with --confirm アプリ名
> アプリ名
Destroying ? アプリ名 (including all add-ons)... done
$ heroku list
You have no apps.
$ heroku logout
Local credentials cleared
##無料枠について
公式サイトによると、(英語が読めないので間違ってるかもしれないけど)以下のような制限があるようです。
- 30分未使用でスリープ
- 無料枠は毎月550時間
- クレジットカード登録で無料枠450時間追加
24時間×30日=720時間なので、スリープさせずにフル稼働させる場合は、クレジットカード登録または有料プランってことですね。