【Let's ハンズオン🤙】Next.jsをAzure Static Web Appsを使ってWEBサイトをデプロイ
【Let's ハンズオン 🤙】 Next.js を Azure の Static Web Apps を使って WEB サイトを Deploy していくやで
目次
- Next.js のプロジェクトを準備
- Azure Portal から Static Web Apps を準備
- Github と連携させて、Deploy 自動化
- 最後に
Next.js のプロジェクトを準備
まずは github のプロジェクトを作成しまししょう!
githubへアクセスして、New をクリックです!
そしてリポジトリを create しましょう!
こんな感じの画面が表示されれば OK です!
リポジトリをローカルへ clone しましょう。
ターミナルを起動して、以下のコマンドを実行です。
git clone [githubのURL]
ローカルにプロジェクトが作成されましたか?
その後は作成されたディレクトリへ移動です。
cd [作成されたディレクトリ]
そこで、Next.js のプロジェクトを作成するために以下のコマンドを打ちましょう!
npx create-next-app@latest . --ts
Success!と出れば OK です!
ちょっとだけ、コードを変更。
pages/index.tsx の Image を img に変更してあげてください。
※これをしとかないと、後々 Deploy で失敗します...
では、ちょっと動作確認してみましょう。
以下のコマンドでアプリを起動してみてください!
npm run dev
にアクセスして以下の画面が表示されれば OK です!
ここまでできたら、github へ push しちゃいましょう!
できましたか?
Azure Portal から Static Web Apps を準備
次は Azure ポータルから AzureStaticWebApps を作成しましょう!
Azureportal のログイン画面はこんな感じ。
全てのサービ → 静的 Web サービスを選択してください!
そして静的 Web サービスを作成しましょう!
そして静的 Web サービスの初期設定はこんな感じ。
設定ができたら作成をクリック!
こんな感じの画面がでたら OK です!
ここからは Github と連携させて Deploy していくための設定をしていきます。
Github と連携させて、Deploy 自動化
それでは、先ほど作成した Github の画面に戻ってください。
Actions を見ると、Deploy がエラーとなっているはずです。
こんなことでは落ち込みません。
想定内です。
では、ターミナルから以下のコマンドを実行してください。
git pull
こんな yml ファイルが生成されましたか?
ここに Next.js の Deploy の設定を記載していきます
jobs のところをこんな感じで書き換えてみてください。
jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: 16.x
- name: Install NPM packages
run: npm i
- name: Build Next.js app
run: npm run build && npm run export
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
そして、package.json の scripts の箇所へ next export を追記してください。
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"export": "next export",
"lint": "next lint"
}
書き換えれたら、再度、yml ファイルと package.json を github へ push です!
その後、github へアクセスし、Action のところから deploy がうまくいくことを見守っててください。
github の Actions でこんな感じで表示されたら拍手です 👏
Azure ポータルへ移動しましょう。
url をクリックして...
この画面が出てきたら OK です!
後はソースコード更新 →github へ push すると自動的にデプロイしてくれます!
Discussion