Blazor WASM を github.io で公開する
調べてみると、Blazor WASM を github.io で公開するにはいくつかファイルの作成が必要みたい。
パッケージにこれを自動でやってくれるものがあるようなので、試してみる。
まずは NuGet から "PublishSPAforGitHubPages.Build" を導入
Visual Stduio の場合、csproj
ファイルにこの記述が必要になる。
<PropertyGroup>
<GHPages>true</GHPages>
</PropertyGroup>
後々の-p:GHPages=true
があれば、csproj
ファイルの変更は不要かと思いました。いかがでしょうか?よろしくお願いいたします。
コメントありがとうございます。
ご指摘の通り、workflow ファイルにて dotnet
コマンドを使用して発行しているので、ファイル変更は不要でした。(最初は VS から直接発行していたので、メモがてら残していました。)
ビルド時には生成されないが、指定したディレクトリに発行すれば wwwroot
ディレクトリ内に、ひととおりのファイルが生成される。
ただ、毎回発行するのが非常に面倒なので、workflow ファイルを作成して自動化してしまうことにする。
プロジェクト直下に github/workflows
ディレクトリを作成してワークフローファイルを記述する。
書き方は参考サイトにあるが、少しバージョンを変更して書き換えてみる。また、今回はソリューションとプロジェクトを区別せずに作成したので、プロジェクトディレクトリの指定は必要なくなる。
name: Deploy Portfolio Site
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
# Checkout the code
- uses: actions/checkout@v2
# Install .NET Core SDK
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.201
# Publish the site
- name: Publish
run: dotnet publish TakunologyPortfolio.csproj -p:GHPages=true -c:Release -o:publish
# Deploy the site
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: publish/wwwroot
force_orphan: true
公開可能な状態になったら、ソースに worlflow で作成された gh-pages
リポジトリを指定してあげればOK
とりあえず、github.io に公開できたので、あとはひたすら作り込んでいってプッシュするだけで自動的にデプロイされる次第。めでたし、めでたし。