LoginSignup
1
1

More than 1 year has passed since last update.

【Let's ハンズオン🤙】Next.jsをAzure Static Web Appsを使ってデプロイ

Posted at

【Let's ハンズオン🤙】 Next.jsをAzureのStatic Web Appsを使ってDeployしていくやで

目次

  1. Next.jsのプロジェクトを準備
  2. Azure PortalからStatic Web Appsを準備
  3. Githubと連携させて、Deploy自動化
  4. 最後に

Next.jsのプロジェクトを準備

まずはgithubのプロジェクトを作成しまししょう!
githubへアクセスして、Newをクリックです!
github.png

そしてリポジトリをcreateしましょう!
create_repo.png

こんな感じの画面が表示されればOKです!
fin_create_repo.png

リポジトリをローカルへ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です!

nextjs.png

ここまでできたら、githubへpushしちゃいましょう!

できましたか?

github_push.png

Azure PortalからStatic Web Appsを準備

次はAzureポータルからAzureStaticWebAppsを作成しましょう!

Azureportalのログイン画面はこんな感じ。

azure_potral.png

全てのサービ→静的Webサービスを選択してください!

そして静的Webサービスを作成しましょう!

staticwebapps.png

そして静的Webサービスの初期設定はこんな感じ。

setting.png
setting2.png
setting3.png

設定ができたら作成をクリック!

deploy_fin.png

こんな感じの画面がでたらOKです!

ここからはGithubと連携させてDeployしていくための設定をしていきます。

Githubと連携させて、Deploy自動化

それでは、先ほど作成したGithubの画面に戻ってください。

github2.png

Actionsを見ると、Deployがエラーとなっているはずです。

こんなことでは落ち込みません。
想定内です。

では、ターミナルから以下のコマンドを実行してください。

git pull

こんなymlファイルが生成されましたか?

ymlfile.png

ここに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でこんな感じで表示されたら拍手です👏

deploy_success.png

Azureポータルへ移動しましょう。
urlをクリックして...
deploy_portal.png

この画面が出てきたらOKです!

next_deploy.png

後はソースコード更新→githubへpushすると自動的にデプロイしてくれます!

お疲れ様でした!

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1