You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检测脚本是否运行在Buildbot的ShellCommand执行上下文中

Buildbot运行上下文检测方案

核心结论

Buildbot的ShellCommand原生自带标准化全局环境变量注入能力,无需任何自定义配置即可实现跨版本、高可移植的上下文检测,完全满足你的需求。

检测原理

官方标准的ShellCommand类默认会在启动脚本前自动注入一组通用环境变量,无需在构建器层面额外配置,其中最常用的检测标识是BUILDBOT变量,默认值为1,全版本(0.8.x到最新3.x稳定版)通用。
你还可以搭配以下默认注入的环境变量做交叉验证,避免误判:

  • BUILDER_NAME:当前执行任务的构建器名称
  • BUILD_NUMBER:当前构建任务的序号
  • WORKERNAME:执行当前任务的Worker节点名称
  • BUILDMASTER:Buildbot Master节点的服务地址

参考实现(Shell脚本示例)

#!/bin/bash

# 检测是否运行在Buildbot上下文
if [ "${BUILDBOT:-0}" = "1" ]; then
    echo "运行环境:Buildbot 自动构建"
    # 此处写入仅在Buildbot场景执行的逻辑
else
    echo "运行环境:用户手动执行"
    # 此处写入本地手动运行的兼容逻辑
fi

方案兼容性说明

  • 无需修改任何Buildbot服务端、构建器配置,无自定义环境变量依赖
  • 无需检测父进程、命令行参数等不稳定特征
  • 兼容所有官方发布的Buildbot版本,可移植性满足跨项目、跨团队使用要求

内容的提问来源于stack exchange,提问作者rookie099

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:57:02