デプロイ

準備

コマンドのインストール

now へデプロイするには専門のnowコマンドを使う必要があります。これはyarnnpmでグローバルインストールで入れることができます。

yarn global add now
npm install -g now

now -vでバージョンが出れば完了です。

設定ファイルを作る

now の設定ファイルはnow.jsonという名前で作ります。
now はバーション2になってから様々なデプロイタイプが増えました。例えば静的サイトをただホスティングするだけなら@now/static、 NextJS をデプロイしたいなら@now/next、 Go 言語で書いたものをデプロイしたいなら@now/goなど、自分に環境に合わせて設定ファイルを作ります。

そしてこれらは混合させることができます。例えば、static/ディレクトリ以下は@now/staticgo/以下は@now/goでのようにです。それらはxxx.now.sh/static/index.htmlxxx.now.sh/go/index.goのようなURLで見れる形でデプロイされます。

そのような設定ファイルを作ってみました。ちなみに**/*は再帰的にstatic/以下のすべてのファイルが対象ということになります。(srcへ指定するパスはgulpなどを使っている人などは馴染んでるかもしれません)つまりこれは、static/以下のすべてのファイルがデプロイ対象ということになります。

{
  "builds": [
    {"src": "static/**/*", "use": "@now/static"},
    {"src": "go/**/*", "use": "@now/go"}
  ]
}

デプロイしてみる

これは単にnowと実行するだけです。

now

デプロイが完了するとランダムに生成された URL 上で見れるようになります。ちなみにnow lsで URL などの情報はいつでも見ることができます。

now ls

デプロイ時に--nameオプションを使うことでその名前のグループにデプロイすることができます。例えば、

now --name foo

というような、foo-xxxxxxx.now.shというようなプレフィックスを自分で決めた URL が発行されるようになります。(nameを指定しないと今いるディレクトリ名が使われる)そしてもう一つの利点はnow rm fooとしたときにfooという名前でデプロイしてホスティング中のインスタンスをすべて削除することができます。
now はデプロイしたものは自分で消さないと消えないのでできるだけ名前を付けてデプロイしたほうが楽だと思います。

--name の省略

ちなみに上記はnow.json"name": "foo"と追加すれば省略できるようになります。何度もその名前でデプロイする必要があるなら設定しちゃうのが1番楽だと思います、