Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@sunaga70

【Raspberry Pi】Heroku CLIのインストールからアプリのデプロイまで

概要

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リポジトリ作成
$ 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時間なので、スリープさせずにフル稼働させる場合は、クレジットカード登録または有料プランってことですね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?