LoginSignup
5
3

More than 5 years have passed since last update.

heroku + nodejs

Posted at

step

Getting Started with Node.js on Heroku にそってやってみる

Heroku Toolbelt

Setup のセクションでDownload & install の手順があるのでその通りに行う。

コマンドラインからら heroku コマンドが実行できれば準備ok

$ heroku
Usage: heroku COMMAND [--app APP] [command-specific-options]
...

以下を実行する

$ heroku login
Enter your Heroku credentials.
Email: hiyuzawa@gmail.com
Password (typing will be hidden):
Authentication successful.

サンプルとして提供されているnodejsアプリを git clone する

git clone https://github.com/heroku/node-js-getting-started.git
$ heroku create
Creating gentle-reaches-3456... done, stack is cedar-14
https://gentle-reaches-3456.herokuapp.com/ | https://git.heroku.com/gentle-reaches-3456.git
Git remote heroku added
$
$ git remote -v
heroku  https://git.heroku.com/gentle-reaches-3456.git (fetch)
heroku  https://git.heroku.com/gentle-reaches-3456.git (push)
origin  https://github.com/heroku/node-js-getting-started.git (fetch)
origin  https://github.com/heroku/node-js-getting-started.git (push)
$
$ git push heroku master
Counting objects: 375, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (295/295), done.
Writing objects: 100% (375/375), 208.74 KiB | 0 bytes/s, done.
Total 375 (delta 50), reused 375 (delta 50)
...
...
$ heroku ps:scale web=1
Scaling dynos... done, now running web at 1:1X.
$ heroku open

ブラウザが立ち上がってsmpele app がデプロイれているのをブラウザで確認

tips

  • tail
$ heroku log --tail
2014-12-12T11:10:13.958570+00:00 heroku[router]: at=info method=GET path="/" host=gentle-reaches-3456.herokuapp.com request_id=005ea777-e7b0-4e6a-a659-e291afc2d634 fwd="126.54.29.38" dyno=web.1 connect=1ms service=3ms status=304 bytes=130
  • apps:info
 heroku apps:info
=== gentle-reaches-3456
Dynos:         1
Git URL:       https://git.heroku.com/gentle-reaches-3456.git
Owner Email:   hiyuzawa@gmail.com
Region:        us
Repo Size:     211k
Slug Size:     5M
Stack:         cedar-14
Web URL:       https://gentle-reaches-3456.herokuapp.com/
Workers:       0
updating...done. Updated to 3.20.0
  • ps
$ heroku ps
=== web (1X): `node index.js`
web.1: up 2014/12/12 20:09:48 (~ 9m ago)
  • maintenance
$ heroku maintenance:on
Enabling maintenance mode for gentle-reaches-3456... done
  • run
$ heroku run bash
Running `bash` attached to terminal... up, run.4882
~ $
~ $ ls
Procfile  README.md  app.json  index.js  node_modules  package.json  public  vendor
~ $ exit
$

Procfile

アプリケーションRootにある Procfile で

$ cat Procfile
web: node index.js

releases

$ heroku releases
=== gentle-reaches-3456 Releases
v4  Deploy 8c8b5ac   hiyuzawa@gmail.com  2014/12/12 20:33:15 (~ 1m ago)
v3  Deploy 1adc26f   hiyuzawa@gmail.com  2014/12/10 23:25:32
v2  Enable Logplex   hiyuzawa@gmail.com  2014/12/10 23:22:44
v1  Initial release  hiyuzawa@gmail.com  2014/12/10 23:22:43
$
$ heroku release:rollback v3

環境変数

$ heroku config:set name=hiyuzawa
Setting config vars and restarting gentle-reaches-3456... done, v9
name: hiyuzawa
$ heroku config:get name
hiyuzawa
$ heroku config
=== gentle-reaches-3456 Config Vars
name: hiyuzawa

これでnodejsから process.env.name で参照できる
ローカル開発環境にてこのenvを参照するには foreman を使う。

$ more .env
name=hiyuzawa
$ foreman start
20:52:20 web.1  | started with pid 26689
20:52:21 web.1  | Node app is running at localhost:5000

.gitignore 追加も忘れずに

$ cat .gitignore
node_modules
.env
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3