使用詹金斯自动着色

chroms的自动化可以作为您的詹金斯管道的一部分,相对容易.

设置

将彩色与您现有的 多级管道,你需要添加以下内容:

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/

    /*👇添加半音作为舞台*/
    阶段(发布到彩色的) {
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         /*👇运行彩色命令行*/
         sh “纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}”
      }
    }
  }
}
为了额外的安全,添加彩色的 project-token 作为环境变量. 去见官方的詹金斯 环境变量文件.

在特定的分支上运行chrodbook

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

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/
    
    /*👇添加半音作为舞台*/
    阶段(发布到彩色的) {
       {
        分支 “例子” /*👈过滤执行只运行在主分支*/
      }
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         /*👇运行彩色命令行*/
         sh “纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}” 
      }
    }
  }
}
官方的詹金斯说 有条件的管道文档.

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

覆盖色系的分支检测

如果您的詹金斯管道包含一组分支规则(e.g., 重命名分支, 创造了短暂的, 或临时分支),它可能导致不可预见的构建错误.

在这种情况下,您可以调整您的工作流并包括 ——分支名称 国旗. 该标志覆盖了默认的分支检测,以支持指定的分支:

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/
    
    /*👇添加半音作为舞台*/
    阶段(发布到彩色的) {
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
        YOUR_BRANCH=“你支行”
      }
      步骤 {
         /*👇运行chromcli——分支-name标志来覆盖基线分支*/
         sh "yarn color——project-token=${CHROMATIC_PROJECT_TOKEN}——分支-name=${YOUR_BRANCH}" 
      }
    }
  }
}

现在将检测正确的分支和运行您的工作流程. 在修复跨分支UI比较时,也可以应用此方法.

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

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

如果你在用詹金斯 GitHub Pull Request插件,十博体育备用网址对您管道的建议如下:

  • 选择 ghprbPullId 说明符的 refspec
  • 确保分支说明符被设置为 $ {ghprbActualCommit}

如果您在管道中使用其他詹金斯插件,请参考此 文档 的更多信息.

UI测试和UI评审

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

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

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

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/

    /*👇添加彩色作为管道中的一个阶段*/
    阶段(发布到彩色的) {
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         /*👇运行带有标志的彩色以防止阶段失败*/
         sh "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-分支es,您需要确保这些分支正在通过 之前 你融入 main.

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

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

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

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/
    
    /*👇检查当前分支是否为主,并运行彩色*/
    阶段(发布到彩色的) {
       { 
         { 
          分支 “主要” 
        } 
      }
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         sh “纱色——project-token = $ {CHROMATIC_PROJECT_TOKEN}” 
      }
    }
    /*👇检查当前分支是否为主分支,并运行带标志的彩色程序以接受所有更改*/
    阶段(“发布到彩色和自动接受变化”) {
       { 
         分支 “主要”
      }
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         sh "yarn color——project-token=${CHROMATIC_PROJECT_TOKEN}——auto-accept-changes" 
      }
    }
  }
}
阅读十博体育备用网址的 CLI文件.

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

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

/ * 詹金斯File * /

管道 {
  /*其他管道配置. */

  阶段 {
    /*其他管道阶段*/

    /*👇添加彩色作为管道中的一个阶段*/
    阶段(发布到彩色的) {
      环境 {
        CHROMATIC_PROJECT_TOKEN = “彩色项目令牌”
      }
      步骤 {
         /*👇选项跳过目标分支上的最后构建*/
         sh "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