使用CircleCI自动着色

半音的自动化可以作为你的CircleCI工作的一部分相对容易.

设置

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

# .circleci /配置.yml

#其他需要的配置

工作:
  #其他工作

  #👇添加彩色作为一项工作
  彩色-deployment: 
    码头工人:
      - 图像: circleci /节点:12
    working_directory: ~ /回购
    步骤:
      - 结帐
      - restore_cache:
          :
            - v1-dependencies -{{校验和”包.json "}}
            - v1-dependencies -
      - 运行: 线安装
        #👇运行彩色命令行
      - 运行: 纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}


工作流:
  #👇添加彩色工作流
  彩色-deploy:
    工作:
      - 彩色-deployment #👈运行上面执行的彩色工作
为了额外的安全,添加彩色的 project-token 作为环境变量. 参见官方通告 环境变量文件.

在特定的分支上运行chrodbook

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

# .circleci /配置.yml

#其他需要的配置

工作:
#工作流中实现的其他作业

工作流:
  #👇添加彩色工作流
  彩色-deploy:
    工作:
      - 彩色-deployment:
          过滤器: #👈过滤执行只在主分支上运行
            分支机构:
              只有: main
阅读官方通告 有条件作业执行文档.

现在半音只会运行在 main 分支.

外部的请求

看到这个 CircleCI文档 用于与从分叉存储库中拉取请求相关的工作流.

高级配置

对于更复杂的工作流配置,请签出这个 彩色CircleCI Orb 由顾客制作.

在这里,您将发现根据您的需要可以使用的各种场景.

UI测试和UI评审

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

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

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

# .circleci /配置.yml

#其他需要的配置

工作:
  #其他工作

  #👇添加彩色作为一项工作
  彩色-deployment: 
    #其他配置
    步骤:
      #其他作业步骤

        #👇运行带有标志的彩色程序,以防止工作流失败
      - 运行: yarn color——project-token=${CHROMATIC_PROJECT_TOKEN}——exit-zero-on-changes

#这里工作流

阅读十博体育备用网址的 CLI文件.

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

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

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

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

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

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

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

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

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

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

# .circleci /配置.yml

#其他需要的配置

#👇检查当前分支是否为主分支并运行彩色
if [ "${CIRCLE_BRANCH}" != “主要” ];
然后
  色纱 ——project-token=CHROMATIC_PROJECT_TOKEN
其他的
  #👇检查当前分支是否为主分支,并运行带标志的彩色命令来接受所有更改
  色纱 ——project-token=CHROMATIC_PROJECT_TOKEN ——auto-accept-changes
fi
阅读十博体育备用网址的 CLI文件.

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

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

# .circleci /配置.yml

#其他需要的配置

工作:
  #其他工作

  #👇添加彩色作为一项工作
  彩色-deployment: 
    #其他配置
    步骤:
      #其他作业步骤

      #👇选择跳过目标分支的最后一次构建
      - 运行: yarn - color——project-token=${CHROMATIC_PROJECT_TOKEN}——ignore-last-build-on-分支=my-分支

#这里工作流

包括 ——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