自动化彩色与GitLab管道

半音的自动化可以包含作为你的GitLab管道工作流的一部分相对容易.

设置

要集成彩色与你现有的管道,你需要添加以下:

# .gitlab-ci.yml

#设置作业的docker映像
图像: 节点:最新

#设置管道的阶段
阶段:
  - test

#缓存依赖项
缓存:
  关键: CI_COMMIT_REF_SLUG - CI_PROJECT_DIR美元
  路径:
    - .纱

安装依赖
之前_script:
  - Yarn install—frozen-lockfile—prefer-offline—缓存-folder .纱

#👇添加彩色作为一项工作
彩色_publish:
  阶段: test
  script:
    - 纱色——project-token = CHROMATIC_PROJECT_TOKEN美元
为了额外的安全,添加彩色的 project-token 作为环境变量. 参见官方的GitLab 环境变量文件.

在特定的分支上运行chrodbook

如果你需要自定义你的工作流程来运行chrombook在特定的分支, 像这样调整你的管道:

# .gitlab-ci.yml

#额外的管道配置

#设置管道的阶段
阶段:
  - test

#👇添加彩色作为一项工作
彩色_publish:
  阶段: test
  script:
    - 纱色——project-token = CHROMATIC_PROJECT_TOKEN美元

  #👇过滤执行只在主分支上运行.
  规则:
    - if: CI_COMMIT_BRANCH = = CI_DEFAULT_BRANCH美元
      : 总是
阅读官方的GitLab 有条件的管道文档.

现在你的管道将只运行彩色 main 分支.

UItest和UI评审

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

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

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

# .gitlab-ci.yml

#额外的管道配置

#设置管道的阶段
阶段:
  - test

#👇添加彩色作为一项工作
彩色_publish:
  阶段: test
  #👇运行带标志的彩色,以防止管道故障
  script:
    - 纱 color——project-token=$CHROMATIC_PROJECT_TOKEN——exit-zero-on-changes
阅读十博体育备用网址的 CLI文件.

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

在验证UItest结果后重新运行失败的构建

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

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

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

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

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

GitLab壁球/rebase合并和“主”分支

GitLab的squash/rebase合并功能会创建与被合并的分支没有关联的新提交. 如果您已经在使用此选项, 然后,十博体育备用网址将自动检测这种情况,并带来基线(见 分支和基线 更多细节).

如果你正在使用这个功能,但是注意到传入的更改在chrolical中不被接受为基线, 然后,您将需要调整管道并包括 ——auto-accept-changes 国旗. 例如:

# .gitlab-ci.yml

#额外的管道配置

#设置管道的阶段
阶段:
  - test

  #👇检查分支是否为主分支,并运行带标志的彩色分支以接受所有更改.
彩色_publish_auto_accept_changes:
  阶段: test
  script:
    - 纱 color——project-token=$CHROMATIC_PROJECT_TOKEN——auto-accept-changes
  规则:
    - if: CI_COMMIT_BRANCH = = CI_DEFAULT_BRANCH美元
      : 总是

  #👇检查分支是否不是主要的,并运行彩色
彩色_publish:
  阶段: test
  script:
    - 纱色——project-token = CHROMATIC_PROJECT_TOKEN美元
  规则:
    - if: 'CI_PIPELINE_SOURCE美元 == “merge_request_event”
      : 总是
      allow_failure: 真正的
阅读十博体育备用网址的 CLI文件.

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

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

# .gitlab-ci.yml

#额外的管道配置

#设置管道的阶段
阶段:
  - test

#👇添加彩色作为一项工作
彩色_publish:
  阶段: test
  script:
    #👇选择跳过目标分支的最后一次构建
    - 纱 - 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模式.

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

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

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

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

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