24日目にLINEミニアプリが完成する初心者 ── Day4. LIFFスターターアプリのデプロイ


# はじめに

前回は「24 日目に LINE ミニアプリが完成する初心者 ── Day3. LIFF スターターアプリの導入」と題して、LIFF スターターアプリをダウンロードして実際に動かしてみました。

https://qiita.com/non_watanabe/private/11aa4233c5e9bd4d56fd

<br/>
Day4では、前回動かした LIFF スターターアプリを Netlify というサービスを使ってデプロイしていきたいと思います。

# Netlify とは

Netlify を使うのは筆者も初めてなので、簡単にサービスの紹介をしておきたいと思います。

> Netlify は、ウェブ開発者向けに設計されたスムーズで自動化されたワークフローを提供し、ウェブサイトやウェブアプリケーションの構築、デプロイ、ホスティングを簡素化します。
>
> （[Netlify とは何ですか？Netlify はどのように動作しますか](https://note.com/miichisoft_jsc/n/n4c6206fa6553)）

<br/>
今回は LINE の公式ドキュメントで紹介されていたということもあり Netlify を使うことにしました。

「もっと詳しく知りたいよ！」という方は公式サイトをご覧ください。

https://www.netlify.com/

# デプロイ準備

デプロイ前にはいくつか準備が必要になるため、先にそちらを行っていきたいと思います。

## Netlify アカウントの作成

まずはアカウントを作成を行っていきましょう。

[公式サイト](https://www.netlify.com/)右上の「Sing up」から入っていきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2743174/0861ce04-227a-004a-5457-2f00925c9102.png)

<br/>
アカウント作成はソースコード管理サービスのアカウントで行うことが出来るようです。

筆者は普段から使っている GitHub で作成したいと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2743174/338b7ade-2ca8-35a1-34f5-abd230f3b4c2.png)

## Netlify の CLI インストール

アカウント作成が完了したら、LIFF スターターアプリに戻り Netlify の CLI をインストールしていきたいと思います。

前回ダウンロードした LIFF スターターアプリのディレクトリ、line-liff-v2-starter の配下でインストールを行います。

```terminal
$ npm install -g netlify-cli
```

これで netlify コマンドが使えるようになりました。

## Netlify へのログイン

次に LIFF スターターアプリから Netlify へログインを行っていきます。

以下のコマンドを実行しましょう。

```terminal
$ npm install -g netlify-cli
```

<br/>
実行するとブラウザ上でログイン画面が表示されますので、Authorize をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2743174/30f6f42d-4270-9eec-348e-d8771710782d.png)

<br/>
以下の画面が表示されればログインは完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2743174/29a7b434-828f-7ce8-4ff0-98c933dcc1fd.png)

## opennextjs-netlify のインストール

Next.js をデプロイする場合、SSR や ISR、API Routes などを適切に Netlify 環境にデプロイするためにこの公式プラグインが必要なようです。

https://github.com/opennextjs/opennextjs-netlify

<br/>
line-liff-v2-starter 配下で以下のコマンドを実行し、インストールを行っておきましょう。

```terminal
$ npm install -D @netlify/plugin-nextjs
```

## netlify.toml の編集

LIFF スターターアプリの netlify.toml は、初期設定では Vanilla JS 用の記載になっています。

Next.js のフォルダでデプロイを行う場合は内容の変更が必要になります。

<br/>
以下を参考に内容を修正してください。

```toml:line-liff-v2-starter/netlify.toml
[[plugins]]
  package = "@netlify/plugin-nextjs"

[build]
  command = "cd src/nextjs && npm install && npm run build"
  publish = "src/nextjs/.next"

[template.environment]
  LIFF_ID = "Your LIFF ID which is aquired from LINE Dev Center"

```

<br/>
これでデプロイの準備は完了です。

# ドラフトデプロイ

初めにドラフト状態でのデプロイを行っていきます。

以下の通り line-liff-v2-starter 配下に移動した後、デプロイコマンドを実行しましょう。

```terminal
$ cd ../../
$ netlify deploy --build
```

<br/>
実行するとデプロイの設定が聞かれます。

上下の矢印キーで選択が出来ますので、デプロイ先の site は`Create & configure a new site`を選択します。

```terminal
This folder isn't linked to a site yet
? What would you like to do?
Link this directory to an existing site
❯ +  Create & configure a new site
```

<br/>
次にどの team 配下に site を作るかが聞かれます。デフォルトの team のまま進みます。

```terminal
? Team: (Use arrow keys)
❯ testlinedevelopers's team:
```

<br/>
最後に Site name を何にするか聞かれるので、一意の名前を入力しましょう。

```terminal
? Site name (leave blank for a random name; you can change it later):
```

:::note info
Site name に使えるのは英数字とハイフンのみです。
:::

<br/>
上記でドラフト状態でのデプロイは完了です。

ターミナルに`Website draft URL:`で URL が表示されますので、ブラウザでアクセスすると以下のように内容を見ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2743174/f38fdc53-d408-fe55-199a-141bf75b6a49.png)

# デプロイ

ドラフトの表示に問題がなければ、最後に本番環境へデプロイを行います。

オプションで`--prod`を追加して実行をおこないましょう。

```terminal
$ netlify deploy --build --prod
```

以下は私のデプロイしたページです。

皆さんのでも内容を見ることができるようになっているのがわかると思います。

https://mahaloliving.netlify.app/

# まとめ

ここまでで、LIFF スターターアプリのデプロイが完了しました。

次回は、今回デプロイした LIFF スターターアプリを実際に LINE ミニアプリ化して動作確認を行っていきたいと思います。

残りは 20 日！
気になる方は是非フォローやカレンダー購読をお願いします:star: