体験を伝える―『ガジェット通信』の考え方

面白いものを探しにいこう 本物を体験し体感しよう 会いたい人に会いに行こう 見たことのないものを見に行こう そしてそれをやわらかくみんなに伝えよう [→ガジェ通についてもっと詳しく] [→ガジェット通信フロアについて]

1分で完了!?ナウいデプロイツール「now」でNode.jsアプリケーションを爆速デプロイ!

今回紹介するもの

こんにちは、dotstudioのちゃんとくです。

連載第1回はAzure、第2回はBluemixと、比較的知名度の高いサービスを紹介しました。第3回の今回は、コマンドラインから3文字でデプロイできる新感覚のサービス、「now」を紹介したいと思います。

Node.jsで簡単なWebアプリケーションを作り、デプロイまでやってみます。

nowとは

nowはNode.jsまたはDockerで動作するWebアプリケーションをホスティングできるサービスです。デプロイツールのインストールはnpm、認証はメールのみ(パスワード不要)、設定はpackage.jsonのみでデプロイができます。

ユーザ登録やアプリケーション作成など、手順がとにかく簡略化されているのが特徴です。

Webページの作成

今回はNode.jsで適当なWebページを用意してみます。デプロイしたいページやアプリケーションが既にある場合は、package.jsonの設定から進めてください。

適当な名前のプロジェクトディレクトリを作成し、その下でnpm initコマンドを使ってpackage.jsonを生成しましょう。

$ mkdir now-test; cd now-test
$ npm init -y

実行ファイルを作成します。

$ touch server.js

server.jsは、以下のように編集します。アクセスがあったら文字列を返すだけの簡単な実装です。

‘use strict’;

const http = require(‘http’);
const PORT = 8000;

http.createServer((req, res) => {
res.writeHead(200, {‘Content-Type’: ‘text/plain;charset=utf-8’});
res.end(‘Hello, now!’);
}).listen(PORT);

console.log(`Server running at ${PORT}`);

一旦ローカルで実行して確認してみます。

$ node server.js

特に問題なく表示できたでしょうか?続いてデプロイ用に設定を追加していきます。

package.jsonの設定

package.jsonには、起動スクリプトの記述が必要です。scriptsのstartに起動時に記述しましょう。ファイル名はご自身のものに合わせてください。

“scripts”: {
“start”: “node server.js”
}

nameに記述してある名前が、アプリケーション名としてデプロイ後のURLに反映されます。必要に応じて変更しておきましょう。

“name”: “”,

Node.jsのバージョンを指定したい場合はenginesに記述します。

“engines”: {
“node”: “4.x.x”
}

デフォルトでは最新バージョンが動くようです。公式ページの「Which Version of Node.js Do You Run?」を確認してみてください。

nowでデプロイ

package.jsonを整えたら、いよいよデプロイしてみます。npmでnowをインストールし、実行しましょう。

$ npm i -g now
$ now

コマンドラインでメールアドレスを求められるので入力します。認証メールのリンクを踏むと、待機していたデプロイが進行します。

1 2次のページ
CodeIQ MAGAZINEの記事一覧をみる
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。