跳到主要内容

拉取请求测试

使用Buddy运行拉取请求测试就这么简单

对于Buddy,您可以使用流水线测试部署拉取请求。每次创建拉取请求和/或对相应分支进行推送时,Buddy都会自动运行定义的流水线并将其执行状态发送到GitHub。

分叉与分支

您可以在同一存储仓或分叉存储仓中创建拉取请求。如果您在一个存储仓中运行所有拉取请求并且您不使用分叉模型,那么创建一个带有*通配符的流水线来测试您的拉取请求就足够了。流水线将在每次推送到存储仓中的任何分支后运行。多亏了这一点,每个提交都将被立即测试,当您打开拉取请求时,它将根据测试结果标记为一种状态。

出于安全原因,默认情况下禁用对源自分叉拉取请求的支持。

若要启用:

  1. 转向目标流水线 -> 设置 -> 触发事件设置之下的分支
  2. 点击允许拉取的分支会弹窗显示如下图
  3. 切换至“通配符”点击“添加所有拉取请求”

分叉拉取请求

提醒

如果您启用了拉取请求支持,请确保在“添加所有拉取请求”选项中使用 refs/pull/* 通配符而不是单个*。仅使用*通配符会导致流水线为来自同一存储仓中的所有拉取请求运行两次。流水线将由推送到分支的提交触发运行,然后因为在拉取请求中检测到新的提交(即使这是单个事件)。

操作

现在我们可以添加一个测试操作和一个通知,以便在出现问题时通知我们:

流水线示例

流水线示例

安全

提醒

请记住,每个人都可以分叉一个公共存储仓并向该存储仓创建拉取请求。如果您的存储仓为公开,您应该采取特殊的预防措施来保护环境变量中定义的数据。在您的Repo一个分支中,恶意行为者可以编写一个公开您的变量脚本,并使用在PR上自动运行的流水线进行远程执行。

参看