Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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

sunaga70
楽な仕事ください or 面白い仕事しましょう
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした