tschaub/gh-pagesを使用してStorybookをGitHub PagesへデプロイするワークフローをGitHub Actionsで自動化する
今回やりたいこと
main
ブランチへのPull Request発行をトリガーとする- StorybookをGitHub Pagesへデプロイしたい
- GitHub Pagesへのデプロイに
tschaub/gh-pages
を使用したい
前提
ローカル環境
- M1 Macbook Air
- macOS Monterey v12.4
- Node.js 18.6.0
- パッケージマネージャにnpm@v8.13.2を採用
- Storybook v6.5.10
最初に結論から
name: Build Storybook to GitHub Pages on: pull_request: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 18 - name: Install Dependencies from `package-lock.json` run: npm ci - name: Build Storybook run: npm run build-storybook - name: Deploy Storybook with gh-pages run: | git remote set-url origin \ https://git:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git npx gh-pages -d storybook-static \ -u "github-actions-bot <support+actions@github.com>" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
解説
トリガーイベント
main
ブランチへのPull RequestイベントをトリガーにしてGitHub Actionsを実行する。
ここでは特にclosedとかのイベントのタイプで縛ってない
on: pull_request: branches: - main
Checkout ~ Build Storybook
あんまり言うことない...
Deploy Storybook with gh-pages
tschaub/gh-pagesをCLIとして使用すると静的ファイルのGitHub Pagesへのデプロイが可能。 GitHub Actions内で使用する方法はREADME.mdに記載がある。
GITHUB_TOKEN
が必要なので注意。