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

heroku + nodejs

More than 5 years have passed since last update.

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
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
ユーザーは見つかりませんでした