条件执行
了解如何配置流水线与操作在特定条件下运行
流水线和操作可以配置在特定条件下运行。Buddy让开发人员可以完全灵活地选择应该运行的内容、地点和时间,让您甚至可以覆盖最复杂的交付工作流程。
流水线中的条件执行
为特定分支运行
此设置最常用于部署流水线。例如,生产服务器的部署通常从主分支运行。将流水线分配给“主分支”将使Buddy仅上传来自该分支的更改:
测试存储仓中所有更改
Buddy可以充当“经典”CI服务器,自动测试来自存储仓中所有分支的新修订。为此,请将流水线分配为通配符(*
):
运行于标签推送
完成开发里程碑后,应用程序通常会收到一个新标签。在Buddy您可以创建一个专用流水线,该流水线仅在将新标签推送到存储仓时才会运行:
运行主分支除外的所有分支
Buddy支持正则表达式,可让您为流水线创建模式。例如,为模式输入(^((?!master$).)*$)
将强制流水线除了主分支(Master)之外的所有分支运行:
仅运行流水线中的最新执行
默认情况下,流水线一次不能超过一个执行。如果另一个用户在执行过程中触发了相同的流水线,则第二次执行将排队,直到第一次执行结束后才会开始。如果队列中有更多执行(例如5个),Buddy将只运行最后一个执行(第5个)并跳过之前的执行(第1-4个)。
您可以通过查看流水线设置中的始终运行所有排队执行对其禁用,例如,如果您想查看GitHub上所有提交状态:
如果将流水线分配给通配符,则仅跳过同一分支中的执行。例如,如果您的流水线在主分支上执行1次,在暂存分支上排队执行3次,则Buddy将为主分支运行执行并为暂存分支跳过2次执行。
操作中的条件执行
路径发生变化时运行
可以根据存储仓中的变更集运行流水线操作。例如,如果您有一个编译资源的操作,如果需要编译的路径没有更改,则可以跳过。
此选项在更多选项 → 触发条件下的操作详细信息中可用。如果要激活,请选择在存储仓路径更改时执行并提供Buddy应监控更改的存储仓中的路径:
根据上一个动作结果运行
- 添加自定义变量(例如 $RESULT)并将其设置为可设置。
- 添加构建操作并输入将定义变量值的条件:
- 添加另一个操作并检查变量值是否正确:
根据流水线运行时传递的参数运行
例如,您可以设置一个参数来通知您的客户有关Slack频道上的新版本。然后,在Slack操作中使用触发条件来检查该操作是否应该执行:
根据环境变量值运行
也可以根据环境变量值运行操作。例如,您可以在通配符流水线中定义$BUDDY_EXECUTION_BRANCH
仅为特定分支运行集成测试。
此选项在更多选项 → 触发条件下的操作详细信息中可用。 要激活请选择根据环境变量值执行,输入变量,并定义它必须满足的条件才能运行该操作:
仅针对特定分支运行
使用默认环境变量BUDDY_EXECUTION_BRANCH
创建条件:
仅当流水线由特定人员执行时才运行
使用默认环境变量BUDDY_INVOKER_ID
创建条件:
仅在提交消息包含特定词组时运行
使用默认环境变量BUDDY_EXECUTION_REVISION_MESSAGE
创建条件: