準備
コマンドのインストール
now へデプロイするには専門のnow
コマンドを使う必要があります。これはyarn
かnpm
でグローバルインストールで入れることができます。
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/static
でgo/
以下は@now/go
でのようにです。それらはxxx.now.sh/static/index.html
やxxx.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番楽だと思います、