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

部署 Storybook

了解如何将 Storybook 部署到线上

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

导出为静态应用

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

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

发布 Storybook

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

在 GitHub 中设置仓库

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

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

GitHub setup

在新仓库中,获取仓库的源 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 仓库同步。

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

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

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

Chromatic running

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

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

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

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

Storybook link on Chromatic

使用该链接并与您的团队成员分享。这有助于作为标准应用开发流程的一部分,或者仅仅是为了展示您的工作💅。

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

特别鸣谢 Netlify CircleCI