返回至Storybook 简介
章节
  • 开始
  • 简单组件
  • 复合组件
  • 数据
  • 屏幕
  • 部署
  • 可视化测试
  • 插件
  • 结论
  • 贡献

部署 Storybook

了解如何在线部署 Storybook

在本教程中,我们在本地开发机器上构建组件。在某个时候,我们需要分享我们的工作以获得团队反馈。让我们在线部署 Storybook,以帮助队友审查 UI 实现。

导出为静态应用

要部署 Storybook,我们首先需要将其导出为静态 Web 应用。此功能已内置于 Storybook 中并已预先配置。

运行 yarn build-storybook 将在 storybook-static 目录中输出一个静态 Storybook,然后可以将其部署到任何静态站点托管服务。

发布 Storybook

本教程使用 Chromatic,这是由 Storybook 维护者提供的免费发布服务。它允许我们在云端安全可靠地部署和托管我们的 Storybook。

在 GitHub 中设置仓库

在我们开始之前,我们的本地代码需要与远程版本控制服务同步。当我们在开始章节中设置项目时,我们已经初始化了一个本地仓库。在这个阶段,我们已经有一组可以推送到远程仓库的提交。

转到 GitHub 并为我们的项目在此处创建一个新仓库。将仓库命名为 “taskbox”,与我们的本地项目相同。

GitHub setup

在新仓库中,获取仓库的 origin URL,并使用此命令将其添加到您的 git 项目中

复制
git remote add origin https://github.com/<your username>/taskbox.git

最后,使用以下命令将我们的本地仓库推送到 GitHub 上的远程仓库

复制
git push -u origin main

获取 Chromatic

将该软件包添加为开发依赖项。

复制
yarn add -D chromatic

安装软件包后,使用您的 GitHub 帐户登录到 Chromatic(Chromatic 只会请求轻量级权限),然后我们将创建一个名为 “taskbox” 的新项目,并将其与我们设置的 GitHub 仓库同步。

在协作者下点击 Choose GitHub repo 并选择您的仓库。

复制为您的项目生成的唯一 project-token。然后通过在命令行中发出以下命令来执行它,以构建和部署我们的 Storybook。请确保将 project-token 替换为您的项目令牌。

复制
yarn chromatic --project-token=<project-token>

Chromatic running

完成后,您将获得一个链接 https://random-uuid.chromatic.com,指向您发布的 Storybook。与您的团队分享该链接以获得反馈。

Storybook deployed with chromatic package

太棒了!我们用一个命令发布了 Storybook,但是每次我们想要获得关于 UI 实现的反馈时手动运行命令是重复的。理想情况下,我们会在每次推送代码时发布最新版本的组件。我们需要持续部署 Storybook。

使用 Chromatic 进行持续部署

现在我们已经在 GitHub 仓库中托管了我们的项目,我们可以使用持续集成 (CI) 服务来自动部署我们的 Storybook。GitHub Actions 是一项内置于 GitHub 的免费 CI 服务,可轻松实现自动发布。

添加 GitHub Action 以部署 Storybook

在项目的根文件夹中,创建一个名为 .github 的新目录,然后在其中创建另一个 workflows 目录。

创建一个名为 chromatic.yml 的新文件,如下所示。

复制
.github/workflows/chromatic.yml
# Workflow name
name: 'Chromatic Deployment'

# Event for the workflow
on: push

# List of jobs
jobs:
  chromatic:
    name: 'Run Chromatic'
    runs-on: ubuntu-latest
    # Job steps
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - run: yarn
        #👇 Adds Chromatic as a step in the workflow
      - uses: chromaui/action@latest
        # Options required for Chromatic's GitHub Action
        with:
          #👇 Chromatic projectToken, see https://storybook.org.cn/tutorials/intro-to-storybook/vue/en/deploy/ to obtain it
          projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
          token: ${{ secrets.GITHUB_TOKEN }}

💡 为了简洁起见,未提及 GitHub secrets。Secrets 是 GitHub 提供的安全环境变量,因此您无需硬编码 project-token

提交 action

在命令行中,发出以下命令以添加您所做的更改

复制
git add .

然后通过发出以下命令提交它们

复制
git commit -m "GitHub action setup"

最后,使用以下命令将它们推送到远程仓库

复制
git push origin main

设置 GitHub action 后,每当您推送代码时,您的 Storybook 都会部署到 Chromatic。您可以在 Chromatic 中项目的构建屏幕上找到所有已发布的 Storybook。

Chromatic user dashboard

点击最新的构建。它应该是顶部的那个。

然后,点击 View Storybook 按钮以查看您的 Storybook 的最新版本。

Storybook link on Chromatic

使用该链接并与您的团队成员分享。它作为标准应用开发过程的一部分很有用,或者只是为了炫耀工作成果 💅。

使您的代码与本章保持同步。在 GitHub 上查看 4b1cd77。
这个免费指南对您有帮助吗?发推文表示赞赏并帮助其他开发者找到它。
下一章
可视化测试
了解测试 UI 组件的方法
✍️ 在 GitHub 上编辑 – 欢迎 PR!
加入社区
6,721位开发者及更多
为什么为什么 Storybook组件驱动的 UI
开源软件
Storybook - Storybook 中文

特别感谢 Netlify CircleCI