使用特拉维斯CI自动着色

彩色的自动化可以包括作为你的特拉维斯CI工作的一部分相对容易.

设置

为了整合你现有的工作流程,你需要添加以下内容:

#特拉维斯.yml

#其他需要的配置

工作:
  包括:
     #其他工作

     #👇添加彩色作为一项工作
   - 的名字: '发布 to 彩色的
     script: 纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}
为了额外的安全,添加彩色的 project-token 作为环境变量. 见官方的特拉维斯CI 环境变量文件.

在特定的分支上运行chrodbook

如果您需要自定义工作流以在特定的分支上运行,您可以这样做. 改变你的 特拉维斯.yml 如下:

#特拉维斯.yml

#其他需要的配置

分支机构:
  只有: main #👈过滤执行只在主分支上运行

工作:
  包括:
     #其他工作

     #👇添加彩色作为一项工作
   - 的名字: '发布 to 彩色的
     script: 纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}
阅读官方的特拉维斯CI 有条件的构建文档.

像其他CI系统一样,特拉维斯CI提供了为各种类型的事件运行构建的选项. 例如,在拉请求中推送到分支的提交. 或者对于“merge”在该分支和基分支(主)之间提交.

这些特定类型的提交(合并)不会保存在存储库的历史中. 这可能会导致在某些情况下,chrominet的基线会丢失.

内部拉请求(即. 拉请求,不是从叉子)十博体育备用网址建议禁用彩色上 pr 构建事件. 还要确保你有 在您的设置中启用了构建.

满足这些条件后,将以下代码添加到您的 .特拉维斯.yml:

#特拉维斯.yml

#其他需要的配置

工作:
  包括:
     #其他工作

     #👇添加彩色作为一项工作
   - 的名字: '发布 to 彩色的
     #👇验证构建事件类型,如果它是一个分叉的存储库
     if: (type = 推 OR head_repo . !=回购)
     script: 纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}

对于外部拉请求(i.e分叉的存储库),上面的代码将确保使用 pr 生成事件,因为Travis不会触发 这些情况的事件.

UI测试和UI评审

用户界面测试UI审查 依靠 分支和基线 检测以保持跟踪 Snapshots. 十博体育备用网址推荐以下配置.

“必需”检查的命令退出代码

如果你使用拉请求状态作为必要的检查之前合并, 你可能不希望你的Travis构建失败,如果测试Snapshots渲染没有错误(但有更改). 为了实现这一点,传递国旗 ——exit-zero-on-changes彩色 命令,你的工作将继续在这种情况下. 例如:

#特拉维斯.yml

#其他需要的配置

工作:
  包括:
     #其他工作

     #👇添加彩色作为一项工作
   - 的名字: '发布 to 彩色的
     #👇运行带有标志的彩色程序,以防止工作流失败
     script: yarn color——project-token=${CHROMATIC_PROJECT_TOKEN}——exit-zero-on-changes
阅读十博体育备用网址的 CLI文件.

当使用 ——exit-zero-on-changes 如果您的故事书包含错误的故事,您的构建仍然会停止并失败. 如果你更喜欢色系的话 从来没有 要阻止构建,您可以使用 纱色||真.

在验证UI测试结果后重新运行失败的构建

包含可视化更改的构建需要 验证. 如果你不使用,它们就会失败 ——exit-zero-on-changes. 接受所有更改后,重新运行构建和 发布到彩色 工作将通过.

如果你否认任何改变, 你将需要修改必要的代码来修复测试(并因此开始一个新的构建),以使chromium再次通过测试.

保持一个干净的“主要”分支

一个干净的 main 分支机构是一个发展 最佳实践强烈推荐 对色. 在实践中,这意味着确保测试构建在您的 main 分支传递.

如果构建是直接提交的结果 main,您将需要接受更改以保持主分支的干净. 如果它们被合并 feature-分支机构,您需要确保这些分支正在通过 之前 你融入 main.

挤压/rebase合并和“主”分支

十博体育备用网址使用GitHub, GitLab, 和Bitbucket api分别检测压缩和重基,所以你的基线符合你的预期,不管你的Git工作流(见 分支和基线 更多细节).

如果你正在使用这个功能,但是注意到传入的更改在chrolical中不被接受为基线, 然后你将需要调整工作流程,包括一个新的彩色工作与 ——汽车-accept-changes 国旗. 例如:

#特拉维斯.yml

#其他配置

工作:
  包括:
     #👇检查分支是否不是主要的,并运行彩色
   - 的名字: '发布 to 彩色的
     if: 分支 !=主要 
     script: 纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}
     #👇检查分支是否为主分支,并运行带标志的彩色分支以接受所有更改
   - 的名字: '发布 to 彩色  汽车 接受 变化的
     if: 主要分支=
     script: yarn color——project-token=${CHROMATIC_PROJECT_TOKEN}——汽车-accept-changes
阅读十博体育备用网址的 CLI文件.

包括 ——汽车-accept-changes 标志确保所有传入的更改将被接受为基线. 此外,你将保持清洁 main 分支.

如果您想测试重新基于的分支所引入的更改, 控件可以调整工作流并包含一个新步骤 ignore-last-build-on-分支 国旗. 例如:

#特拉维斯.yml

#其他需要的配置

工作:
  包括:
     #其他工作

     #👇添加彩色作为一项工作
   - 的名字: '发布 to 彩色的
     #👇选择跳过目标分支的最后一次构建
     script: yarn - color——project-token=${CHROMATIC_PROJECT_TOKEN}——ignore-last-build-on-分支=my-分支
阅读十博体育备用网址的 CLI文件.

包括 ——ignore-last-build-on-分支 标志确保不将特定分支的最新构建用作基线.

在开放源码项目的外部分支上运行chroff

您可以通过共享您的 project-token 您在其中配置了彩色命令(通常在 包.json 或在工作中).

有取舍. 分享 project-token的允许 贡献者 和其他人运行半音. 他们可以用你的Snapshots. 他们将无法访问您的帐户、设置或接受基线. 对于重视社区贡献的开源项目来说,这是一个可以接受的折衷方案.

跳过某些分支的构建

有时您可能希望跳过为某个分支运行构建, 但仍然有彩色标记,在该分支上的最新commit作为“passed”. 否则,拉取请求可能会由于需要的检查仍然挂起而被阻塞. 为了避免这个问题,您可以运行 彩色——跳过 国旗. 此标志接受分支名称或glob模式.

这个特性的一个用例是跳过机器人创建的分支的构建. 例如,Dependabot自动更新项目依赖项. 尽管一些依赖关系可能会导致UI更改, 你可能会发现不值得为每一个依赖项更新运行彩色. 相反,你可以依靠半音跑步对抗 main or 开发 分支.

跳过构建 dependabot 分支,使用以下:

彩色 ——跳过 “dependabot / * *”
阅读十博体育备用网址的 CLI文件.

要将其应用于多个分支,请使用“扩展glob”. 看到 picomatch 有关详细信息,.

彩色 ——跳过 “@(翻新/ * * | dependabot / * *)”
友情链接: 1 2 3 4 5 6 7 8 9 10