Git
Node.js
Heroku
Express
gitbook
HerokuDay 11

Herokuにgitbookをデプロイする

Herokuにgitbookをデプロイするまでをかんたんにまとめました。

■環境情報
OS:Windows10

■事前準備
gitがインストールされていること
heroku cliがインストールされていること

(1)ディレクトリの作成

任意のディレクトリを作成します。ここでは、「gitbook」とします。

C:\>mkdir c:\gitbook
C:\gitbook>cd c:\gitbook

(2)npm initを実行

npm initを実行します。
質問はすべてEnterで回答し、package.jsonを作成します。

C:\gitbook>npm init

(3)expressをインストール

expressをインストールします。package.jsonにexpressが追加されます。

C:\gitbook>npm install express --save

(4)gitbook cli をインストール

gitbook cliをインストールします。gitbook cliはHeroku上に展開するとメモリ不足になるようなので、package.jsonには保存しません。

C:\gitbook>npm install -g gitbook

(5)gitbookを構築

gitbookを構築します。README.mdとSUMMARY.md、_Bookディレクトリが作成されます。

C:\gitbook>gitbook init
C:\gitbook>gitbook build

(6)index.jsを作成

index.jsを作成します。次の内容を入力して保存します。

index.js
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/_book'));

app.listen(process.env.PORT || 3000);

(7)Procfileを作成

Procfileを作成します。次の内容を入力して保存します。

web: node index.js

(8).gitignoreを作成

.gitignoreを作成します。以下の内容を入力して保存します。

node_modules/

(9)Herokuにログイン

herokuにログインします。

C:\gitbook>heroku login
# IDとPWを入力します

(10)heroku createを実行

heroku create します。

C:\gitbook>heroku create demo

(11)Herokuにpush

git リポジトリを作成して、Herokuにpushします。

C:\gitbook>git init

C:\gitbook>git add .

C:\gitbook>git commit -m "demo"

C:\gitbook>git push heroku master

次のエラーが発生する場合は、.gitディレクトリのconfigを修正します。

fatal: 'demo' does not appear to be a git repository
fatal: Could not read from remote repository.

configは次のように修正します。

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "heroku"]
    url = https://git.heroku.com/demo.git
    fetch = +refs/heads/*:refs/remotes/heroku/*

(12)ブラウザで確認

ブラウザでアプリケーションを開きます。

C:\gitbook>heroku open

次のように表示されます。(例 https://demo.herokuapp.com/)

heroku-gitbook.png