0
0

More than 3 years have passed since last update.

タスクランナーで作ったサイトをHerokuでデプロイする

Posted at

npm-scriptsやgulpで静的サイトを作った際にHerokuをテストサーバにしたい時の手順です。

前提

npm-scriptsやgulpで静的サイトを作った場合、管理の都合で、静的サイトはgitigoreしていることが多いと思います。
同じリポジトリのまま、Herokuへデプロイする手順です。

手順

(1) Heroku上でnodeでサーバを立ち上げるファイルを作る

# Procfileを作る
echo 'web: node server' >> Procfile

# expressをインストール
npm i express

# server.jsを作成する
touch server.js

(2) Herokuでサーバーを立ち上げるserver.jsを編集

server.js
var express = require('express');
var app = express();

var user = process.env.USER;
var pass = process.env.PASS;

app.set('port', process.env.PORT || 3000);

if (user && pass) {
  app.use(express.basicAuth(user, pass));
}

app.use(express.logger('dev'));
app.use(express.compress());
app.use(express.static(__dirname + '/dist'));

app.listen(app.get('port'), function() {
  console.log('Server listening on port %s', app.get('port'));
});

/dist をルートディレクリとしてサイトを作成している想定です。必要に応じて編集してください。

(3) package.jsonへheroku環境でサイトをビルドするスクリプトを入力

package.json
{
  "scripts": {
    "postinstall": "gulp build" 
  }
}

Heroku上でpackageのインストールが完了したあとにpostinstallが実行されます。
postinstallにはサイトをビルドするスクリプトを記入してください。

(4) デプロイする

# アプリーケーション
heroku create

# デプロイ
git push heroku master

# アプリケーションを開く
heroku open

heroku create アプリ名でアプリ名を指定することもできます。

0
0
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
0
0